第8回

二次元配列(あれ、文字列型は?)

00/06/26 サンプルプログラムを修正した
98/11/06 IE4.xに対応させた
98/04/29メールアドレス訂正

今回は、ポインタを後回しにして、(^_^;二次元配列について、です。
以下の3つのプログラムは、前回のint型配列(一次元配列)の二次元配列版です。
forはとりあえず無視して下さい。(^_^;
#include<stdio.h>
main(){
    int i,j,a[2][4];
    a[0][0]=1,a[0][1]=2,a[0][2]=3,a[0][3]=4,a[1][0]=5,a[1][1]=6,a[1][2]=7,a[1][3]=8;
    for(i=0;i<2;i++)for(j=0;j<4;j++)printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
配列宣言時に初期化。[][4]に注目!
#include<stdio.h>
main(){
    int i,j,a[][4]={ 
        {1,2,3,4},
        {5,6,7,8}
    };
    for(i=0;i<2;i++)for(j=0;j<4;j++)printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
配列要素の数を変更した際、マクロで(#defineで設定)MINCOLSROWSの値を変えるだけでいいようにしました
配列の初期化方法もちょっとだけ変えました。
#include<stdio.h>
#define MIN    0
#define COLS   2     /* 行 */
#define ROWS   4     /* 列 */

main(){
   int i,j,a[][4]={1,2,3,4,5,6,7,8};
   for(i=MIN;i<COLS;i++)for(j=MIN;j<ROWS;j++)printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
実行結果

a[0][0]=1
a[0][1]=2
a[0][2]=3
a[0][3]=4
a[1][0]=5
a[1][1]=6
a[1][2]=7
a[1][3]=8



[メニュー][第7回][第9回]

いーざ
email:CQP00202@nifty.ne.jp