配列は複数の同じ型の変数を1つにまとめたもの。
下記のように宣言して使う。
#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; }
配列と文字列操作
文字列を格納する為には配列を使う(文字列配列)。
配列のひとつひとつに文字が入っているイメージとなる。
#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と表示される }
練習
#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); }