配列は複数の同じ型の変数を1つにまとめたもの。
下記のように宣言して使う。
[c]
#include <stdio.h>
int main(void)
{
//宣言する場合
int a[4];
//初期化と同時に値を代入する場合
int a[4] = {1,2,3,4};
//配列の宣言のほうの添字を省く場合、自動的に配列の数が決まる
int a[] = {1,2,3,4};
//それぞれの配列に個別に値を代入する方法
int b[4];
b[0] = 1;
b[1] = 2;
b[2] = 3;
b[3] = 4;
//配列の添字の範囲外の数字を使って配列に台に代入するとエラーになる
//(はずだったが手元の環境ではエラーにならず、、、)
b[9] = 4;
}
[/c]
配列と文字列操作
文字列を格納する為には配列を使う(文字列配列)。
配列のひとつひとつに文字が入っているイメージとなる。
[c]
#include <stdio.h>
int main(void)
{
//宣言
char s[] = "ABCD";
//次のように記述しても同じ意味になる(\0はNULL文字列を表す)
char s[5] = {‘A’, ‘B’, ‘C’, ‘D’, ‘\0’};
//配列の中のひとつひとつが文字列なので、指定文字だけを制御することも可能
char s[4] = "ABCD";
s[2] = ‘Z’;
printf("%s", s); //ABZDと表示される
}
[/c]
練習
[c]
#include <stdio.h>
int main(void)
{
//宣言
int i = 0;
char s[] = "ABC";
char b[4];
printf("%sを逆にする\n", s);
while (s[i] != ‘\0’) {
b[i] = s[2-i];
i++;
}
b[3] = ‘\0’; //\0はNULL文字列
printf("%s\n", b);
}
[/c]