文字列の文字数と配列の要素数
当ページのリンクには広告が含まれています。
スポンサーリンク
前回は「ダブルクォーテーションを使って、文字列を配列に代入する方法」を紹介しました。
ここでは文字列の文字数と配列の要素数について解説します。
文字列と配列サイズ
まずは次のプログラムをコンパイルしてみましょう。
#include <stdio.h> int main(void) { char mojiretu[4] = {'A','B','C','D','E'}; printf("%s\n", mojiretu); return 0; }
このプログラムはエラーが表示され、コンパイルできません!
配列の要素数よりも代入する文字列の文字数が多いからです。
同じ理由で次のプログラムもコンパイルできません!
#include <stdio.h> int main(void) { char mojiretu[4] = "ABCDE"; printf("%s\n", mojiretu); return 0; }
大きな配列を用意するというのもひとつの手ですが、次のように配列を定義するのがおすすめです。
char mojiretu[] = {'A','B','C','D','E'};
ダブルクォーテーションを使うと次のようになります。
char mojiretu[] = "ABCDE";
このように文字列の配列を定義すると代入する文字数に合わせて配列の要素数を自動的に設定してくれます。
次のサンプルプログラムをコンパイル・実行してみましょう。
#include <stdio.h> int main(void) { char mojiretu[] = "ABCDE"; printf("%s\n", mojiretu); return 0; }
実行結果です。
ABCDE
このように文字列の代入・出力が適切に行われます。便利な方法なので覚えておきましょう。
次は「文字列での日本語取り扱い方法」をみていきます。