スポンサードリンク

変数の初期化の場合は 例【 int a = "123"; 】変数に直接代入する形なのでわかりやすいですが、
配列 文字配列の場合は 例【 int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 】 { } を用いるのが特徴です。
※入力した初期値は任意の数字でOKです。
配列宣言をすると 例【 a[10] 】の場合には以下のように変数が用意され、それぞれ初期値が代入されます。
a[0] | a[1] | a[2] | a[3] | a[4] | a[5] | a[6] | a[7] | a[8] | a[9] |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

※【 printf 】による出力は確認の為です。
#include <stdio.h>
int main(viod)
{
int a[5] = {1, 2, 3, 4, 5};
printf("a[0]=%d\n",a[0]);
printf("a[1]=%d\n",a[1]);
printf("a[2]=%d\n",a[2]);
printf("a[3]=%d\n",a[3]);
printf("a[4]=%d\n",a[4]);
return 0;
}

上記の実行結果


ます基本の二通りから
文字コードを直接書く方法 例【 char e[6] = {65, 66, 67, 68, 69, 0}; 】文字列終端マークの0が最後に必ず入ります。
文字を直接書く方法 例【 char f[6] = {'A', 'B', 'C', 'D', 'E', '\0'}; 】
上記の文字配列初期化表
※水色行の部分は文字コードになります。
e[0] f[0] |
e[1] f[1] |
e[2] f[3] |
e[4] f[4] |
e[5] f[5] |
e[6] f[6] |
65 | 66 | 67 | 68 | 69 | 0 |
A | B | C | D | E | \0 |
サンプル
#include <stdio.h>
int main(void)
{
char e[6] = {65, 66, 67, 68, 69, 0};
char f[6] = {'A', 'B', 'C', 'D', 'E', '\0'};
printf("%c",e[0]);
printf("%c",e[1]);
printf("%c",e[2]);
printf("%c",e[3]);
printf("%c",e[4]);
printf("%c\n",e[5]);
printf("%c\n",f[0]);
printf("%c\n",f[1]);
printf("%c\n",f[2]);
printf("%c\n",f[3]);
printf("%c\n",f[4]);
printf("%c\n",f[5]);
return 0;
}
【 char e[6] 】の初期値数値の出力には最後に【 \n 】にて改行し【 char f[6] 】の出力に付いてはに付いては、それぞれ【 \n 】にて改行をしております。
上記の実行結果です。


例 【 char e[6] = "ABCDE"; 】これでe[0]〜e[4]文字列の初期化になります。
※e[5]には文字終端マーク【 0 】が必ず入ります。【 char e[6] = "ABCDEF"; 】とするとエラーになります。
e[0] | e[1] | e[2] | e[4] | e[5] | e[6] |
A | B | C | D | E | 0 |
例2 【 char f[6] = "ABC"; 】の場合、f[0]〜f[2]まで初期化され余った配列は【 0 】が代入されます。
f[0] | f[1] | f[2] | f[4] | f[5] | f[6] |
A | B | C | 0 | 0 | 0 |

例 【 char g[] = "ABCD"; 】この場合適切な配列を確保してくれます。
通常の変数の場合もこの省略方法を使う事が可能です。
例2 【 char g[] = {'A', 'B', 'C', 'D'}; 】
以下のように確保&初期化されます。
g[0] | g[1] | g[2] | g[3] | g[4] |
A | B | C | D | 0 |
例3 【 int a[] = {1, 2, 3, 4}; 】
以下のように確保&初期化されます。
a[0] | a[1] | a[2] | a[4] |
1 | 2 | 3 | 4 |

文字列配列の初期化&変数配列の初期化サンプルです。
※【 char 】の変換文字列例 は 【 %s 】文字列として出力できるものを使用。一文字づつ出力する場合は
例 char s[5]の場合 【 printf("%c",s[0]) 】〜【 printf("%c",s[4]) 】とすればOKです。
【 printf 】の出力は、あくまでも初期設定数値を確認するためのもので余り気にされる必要はありません。
#include <stdio.h>
int main(void)
{
int a[3] = {1, 2, 3};
int b[] = {11, 12, 13, 14};
char s[5] = "ABCD";
char ss[] = "abcd";
printf("a[0]=%d a[1]=%d a[2]=%d\n",a[0],a[1],a[2]);
printf("b[0]=%d b[1]=%d b[2]=%d b[3]=%d\n",b[0],b[1],b[2],b[3]);
printf("%s\n",s);
printf("%s",ss);
return 0;
}
特に難しくは無いのですが、今までの事を一通り読んでいただくと理解して頂けると思います。
基本初期化と配列長省略がポイントです。

上記の実行結果です。

説明は以上です。
あかかげまるのC言語入門はこちら!!
スポンサードリンクパソコン勉強部屋 | パソコン勉強部屋2 | ADSL勉強部屋 | メール勉強部屋 | LAN勉強部屋 | ホームページ勉強部屋 | 自宅サーバー勉強部屋 | お役立ちソフトの部屋 | C言語勉強 | 無料ゲーム | 無料セキュリティー | Linuxのコーナー | あかかげまる | オンライン通販 | ショップブランドパソコン | DVDとCD編集ツール |
▲ページトップへ