今回は配列について、構文を書き実際にプログラムで処理できるまでを確認してみます。
まず、配列の構文ですが以下のようになります。
型 配列名 [要素数]
そもそも、配列とは、同じ型の変数を並べたもので、配列を使用する際、変数の場合と同様に配列の宣言をする必要があります。
目次
配列の宣言で動作を確認する
配列を構成している変数の一つ一つを「要素」と呼びます。
配列の「要素」は例えば10個の配列を宣言した際、必ず0から始まります。
なので、0〜9までが入ります。
以下では配列の宣言と同時に、要素の中に初期値を入れる設定を書きました。
#include <stdio.h>
int main (void)
{
int array [5] = {10,20,30,40,50}; /* 要素を5つ宣言し、左から順に数値を入力 */
printf("添字0の中身:%d\n",array[0]);
printf("添字1の中身:%d\n",array[1]);
printf("添字2の中身:%d\n",array[2]);
printf("添字3の中身:%d\n",array[3]);
printf("添字4の中身:%d\n",array[4]);
return 0;
}
上記でそれぞれの要素に数値を入れていきます。
そして処理結果が以下のように表示されます。
添字0の中身:10 添字1の中身:20 添字2の中身:30 添字3の中身:40 添字4の中身:50
defineを使って文字列置換
次は「define」という文字列置換を使用して要素の数値変更など簡易にできるようにすることができます。
以下は要素を複数使用したプログラムの例です。
#include <stdio.h>
int main(void)
{
int array_from [5] = {10,20,30,40,50};
int array_to [5];
int index;
/* array_fromからのarray_toへ配列要素を移し替える */
for (index = 0; index < 5; index++){
array_to [index] = array_from[index];
}
/* array_toの要素を画面に出力 */
for (index = 0; index < 5; index++){
printf("%d[%d]\n",index,array_to [index]);
}
return 0;
}
処理結果は以下のようになります。
0[10] 1[20] 2[30] 3[40] 4[50]
上記では要素を変更したい場合、それぞれの要素を各設定箇所で修正するのが大変です。
しかも、管理も面倒になります。
ここで「define」を使用することで、マクロ名を指定し数値を設定することにより、そのマクロ名を各設定箇所で使用すれば、数値変更をしたい場合、「define」のみで数値を変更するだけで簡易的に修正することができます。
#include <stdio.h>
#define MAX 5 /* difineを設定しマクロ名と数値を入力 */
int main(void)
{
int array_from [MAX] = {10,20,30,40,50};
int array_to [MAX];
int index;
/* array_fromからのarray_toへ配列要素を移し替える */
for (index = 0; index < MAX; index++){
array_to [index] = array_from[index];
}
/* array_toの要素を画面に出力 */
for (index = 0; index < MAX; index++){
printf("%d[%d]\n",index,array_to [index]);
}
return 0;
}
処理結果
0[10] 1[20] 2[30] 3[40] 4[50]
上記のようにdefineで同じ処理結果が得られました。
また、ここで注意することは必ずマクロ名は「大文字」で定義してください。
てことで今回はここまで。
以上です。
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

コメント