C言語では、関数に文字列を渡す方法は何ですか?
C言語では、関数に文字列を渡す方法は2つあります。
- 関数のパラメータとして文字配列(文字ポインタ)を使用する:
#include <stdio.h>
// 使用字符数组作为函数参数
void printString(char str[]) {
printf("%s", str);
}
int main() {
char str[] = "Hello, World!";
printString(str);
return 0;
}
- 関数パラメータとして文字ポインタを使用する。
#include <stdio.h>
// 使用字符指针作为函数参数
void printString(char *str) {
printf("%s", str);
}
int main() {
char str[] = "Hello, World!";
printString(str);
return 0;
}
文字配列か文字ポインターを使用しても、関数に文字列を渡す機能を実現できます。注意すべき点は、関数に文字配列をパラメータとして渡すと、関数内での文字列の変更が元の文字列に影響を与えるが、文字ポインターをパラメータとして関数に渡すと、関数内での文字列の変更が元の文字列に影響を与えないということです。