★関数(配列の受け渡し2)★


続いて2次元配列の受け渡しについて説明します。

基本的には1次元配列と同じ渡し方になります。


前回と同じように、2次元配列の中身を表示するShowArrayという関数を作ります。

<sample program 140-01>

#include <stdio.h>

#define ROW 2
#define COL 3

void ShowArray(int data[ROW][COL]);

int main(void)
{
    int data[ROW][COL] = {
        {2, 5, 8},
        {3, 6, 9},
    };

    ShowArray(data);

    return 0;
}

void ShowArray(int data[ROW][COL])
{
    int i;
    int j;

    for (i = 0; i < ROW; i++) {
        for (j = 0; j < COL; j++) {
            printf("%2d", data[i][j]);
        }
        printf("\n");
    }
}

<実行結果>

 2 5 8
 3 6 9
続行するには何かキーを押してください・・・

1次元配列と同じく、引数に配列の

 型

 配列名(何でも良い)

 要素数(次元数分)

を書けば良いです。

渡された関数内では、添え字を2つ使って2次元配列にアクセス出来ます。

また、2次元配列もアドレス渡しのため、関数内でデータを書き換えると元データに影響が出ます。


配列を引数にする際の細かい話は「引数としての配列」で書きます。


次へ

戻る

目次へ