ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

C言語

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

TVでも話題になった自宅で無料でオンラインブートキャンプが体験できるようになりました!
※資料ダウンロード(無料)はこちらから!
【CodeCamp(コードキャンプ)】公式案内



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エンジニアで就職するならこちらのサイトがおすすめです!
【レバテックキャリア】



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

Twitter で



  • この記事を書いた人
  • 最新記事

ネットワークエンジニアとしてまた一児の父として仕事とブログ作成に奮闘中! 自分の身の回りにある興味、趣味をひたすらブログで書きまとめています! 私の子供も発達障害のこともあるので色々調べたことなどアップして少しはお役に立てたらと思っております!

-C言語
-,

Copyright© GOISBLOG , 2017 All Rights Reserved.