C言語で配列のプログラムを作ってみる

今回は配列について、構文を書き実際にプログラムで処理できるまでを確認してみます。

まず、配列の構文ですが以下のようになります。

型 配列名 [要素数]

そもそも、配列とは、同じ型の変数を並べたもので、配列を使用する際、変数の場合と同様に配列の宣言をする必要があります。

配列の宣言で動作を確認する

配列を構成している変数の一つ一つを「要素」と呼びます。
配列の「要素」は例えば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エンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!