C言語 - 文字列なんてない。文字型の配列を使うのだ
C言語 - 文字列なんてない。文字型の配列を使うのだ
C言語には文字列を表すデータ型はない。
代わりに文字型の配列を使って文字列を扱う。
また文字列の終端はNULL文字(¥0
)で表す。
文字は char 型で扱う。
char char1 = 'A';
文字列は char 型の配列で扱う。
以下のように配列を宣言して、各要素に文字を入れる。
文字列の終端にはNULL文字を入れること。
char string1[10];
string1[0] = 'H';
string1[1] = 'e';
string1[2] = 'l';
string1[3] = 'l';
string1[4] = 'o';
string1[5] = '\0';
printf("%s\n", string1);
宣言と設定を同時に行うこともできる。
この場合は設定した文字数+NULL文字分のサイズが自動で割り当てられる。
たとえば “Hello” を設定した場合、 “Hello” の6文字と末尾のNULL文字の計7文字の配列となる。
変数に入れるとき、終端のNULL文字は自動設定される。
char string2[] = "Hello";
printf("%s\n", string2);
宣言後に strcpy() で文字列をコピーする手もある。
このときも終端のNULL文字は自動設定される。
char string3[10];
strcpy(string3, "Hello");
printf("%s\n", string3);
strcpy 関数を使うとき、オーバーフローしないように注意する。
コピーする文字列の長さがコピー先のサイズより大きい場合、オーバーフローとなる。
たとえば上記の場合、 string3 の要素数 10 からNULL文字の数を引いた 9 より長い文字列をコピーするとオーバーフローしてしまう。
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
ことりと さんにチップを送りました
チップをありがとうございます。
メッセージは管理画面から確認できます。
酒とアクアリウムが最近の楽しみ。
このクリエイターの人気記事
最新記事
TOPVIEWの人気記事
おすすめの記事
この記事にコメントをしてみませんか?