char[]とchar*の違い †charの配列(char[])とcharのポインタ(char*)の違いをCサンプルコードを交えて説明します。 スポンサーリンク 関連記事 †char[]とchar*でCサンプルコードを作成してみる †以下にchar[]とchar*でCサンプルコードを作って実行してみます。 char[]のサンプルコード †char1.c (改行コードLF) #include <stdio.h> int main(void) { char s[] = "hello world"; s[0] = 'H'; printf("%s\n", s); return 0; } 以下、コンパイルして実行した時の出力です。 $ gcc char1.c -o char1 $ ./char1 Hello world char*のサンプルコード †char2.c (改行コードLF) #include <stdio.h> int main(void) { char *s = "hello world"; s[0] = 'H'; printf("%s\n", s); return 0; } 以下、コンパイルして実行した時の出力です。 $ gcc char2.c -o char2 $ ./char2 Segmentation fault まとめ †char*で文字列を指定して、配列操作で値を入れ替えようとすると Segmentation fault が表示され終了してしまいます。 以上、char[]とchar*の違いについての記述でした。 スポンサーリンク |