ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

C言語

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

投稿日:2014年11月6日 更新日:

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

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

型 配列名 [要素数]

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

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

配列を構成している変数の一つ一つを「要素」と呼びます。
配列の「要素」は例えば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で同じ処理結果が得られました。
また、ここで注意することは必ずマクロ名は「大文字」で定義してください。

てことで今回はここまで。

新版 明解C言語 入門編
新版 明解C言語 入門編

posted with amazlet at 14.11.05
柴田望洋
ソフトバンククリエイティブ
売り上げランキング: 12,815

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-C言語
-,

Copyright© GOISBLOG , 2016 AllRights Reserved.