C言語ポインタ文字列と配列文字列の違い
ポインタの反対に、文字列定数によって初期化された配列は変更できます.その中の1文字は後で変更できます.
次のようになります.
(1)ポインタ文字列のデータの変更
#include <string.h>
#include <stdio.h>
int main(){
char *buf="ABCDEFG";
printf("buf=%c
",buf[2]);
buf[2]='M';
printf("end!
");
}
コンパイルはパスしましたが、プログラムの実行中にエラーが発生しました.
(2)配列文字列のデータの修正
#include <string.h>
#include <stdio.h>
int main(){
char buf[]="ABCDEFG";
printf("buf=%c
",buf[2]);
buf[2]='M';
printf("buf=%s
",buf);
printf("end!
");
}
プログラムが正常に動作していることがわかります.
(----------------------------)