今日の人気記事

  1. 2次方程式の解を計算する

  2. 配列に格納した数値を昇順ソートする

  3. 入力した文字列の文字数を表示する(出力)

  4. テキストファイルに入力した文字列を追記

  5. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)

文字列の文字数と配列の要素数

当ページのリンクには広告が含まれています。

スポンサーリンク

前回は「ダブルクォーテーションを使って、文字列を配列に代入する方法」を紹介しました。

ここでは文字列の文字数と配列の要素数について解説します。

文字列と配列サイズ

まずは次のプログラムをコンパイルしてみましょう。

#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

このように文字列の代入・出力が適切に行われます。便利な方法なので覚えておきましょう。

次は「文字列での日本語取り扱い方法」をみていきます。

基本構文 の人気記事

  1. while文 - 繰り返し処理

  2. 浮動小数点数型(float型 double型)の最大値と最小値 - float.h

  3. printf関数の変換指定子

  4. int main(void) - プログラムの基本

  5. 配列の要素を出力(表示)する

  6. 条件演算子(3項演算子)「? :」

  7. (複合)代入演算子

  8. scanf関数を使った文字列入力の注意点 - ホワイトスペース

  9. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境

  10. scanf関数 - 数値の入力

関連記事(一部広告含む)