C言語の文字列をポインタで表す方法は何ですか?
C言語では、文字列は通常、文字配列を使って表されますが、文字配列は本質的にポインタの一種です。したがって、文字列はポインタを使って表すことができます。
具体的に言うと、文字(char)型のポインタを使用して文字列を表すことができます。このポインタは文字列の最初の文字を指し、ポインタを移動させることで文字列全体を走査することができます。
以下是一个例子,展示了如何使用指针来表示字符串:
#include <stdio.h>
int main() {
char *str = "Hello, world!"; // 字符串常量赋值给指针变量
// 通过指针遍历字符串,并打印每个字符
while (*str != '\0') {
printf("%c", *str);
str++; // 指针向后移动
}
return 0;
}
上記の例では、char *strは文字へのポインタ変数を宣言し、文字列定数 “Hello, world!” の先頭アドレスをそのポインタ変数strに割り当てました。そして、ポインタが指す文字をループで繰り返し、文字列の終端文字\0に到達するまで続けます。
注意,ここでの文字列定数は変更できませんので、文字列定数を指すポインターに対して、文字列の変更は行ってはいけません。文字列を変更する場合は、文字配列を使用する必要があります。