(C言語)配列の初期化

( 子の本棚にC言語入門の本が落ちてたので、勉強してみよっと )

 

【 実行プログラム 】

実行プログラム

 

【 ソースプログラム 】

#include  <stdio.h>

int main(void)
{
    int a[4] = {1, 2, 3, 4,};
    for (int i = 0; i < 4; i++)
        printf("a[%d] = %d\n",i ,a[i]);

    int b = {1, 2, 3,};
    for (int i = 0; i < 3; i++)
        printf("b[%d] = %d\n",i ,b[i]);

    int c[4] = {1, 2};
    for (int i = 0; i < 4; i++)
        printf("c[%d] = %d\n",i ,c[i]);
   
    int d[4] = {0};
    for (int i = 0; i < 4; i++)
        printf("d[%d] = %d\n",i ,d[i]);

    return (0);
}

 

【 まなび 】

■ int a[4] = {1, 2, 3, 4,};

 int型の変数aの4つの配列に対して、順に1, 2, 3, 4を設定している。

 最後の4には「,」がなくても大丈夫だが、管理上の観点では、書いておいた方がよいかもしれない。

 

■ int b = {1, 2, 3,};

 要素数を空欄とすると・・・自動的に初期化数分だけ設置される。

 

■ int c[4] = {1, 2};

 要素数4個に対して、2個のみ初期化した場合は、残りの2個については0が設定される。

 

■ int d[4] = {0};

 全要素を0で初期化している。

 

 

************************************************
【 演習5-3 】

先頭から順に5,4,3,2,1で初期化するプログラムを作成せよ。

演習5-3
#include  <stdio.h>

int main(void)
{
    int a[5] = {5, 4, 3, 2, 1,};
    for (int i = 0; i < 5; i++)
        printf("a[%d] = %d\n",i ,a[i]);

    return (0);
}