C言語関係掲示板

過去ログ

No.191.2次元配列を関数に渡すには


No.1207

はじめまして
投稿者---サキ(2002/03/07 12:09:30)


こんにちは。
配列と2次元配列についてお聞きしたいのですが。
配列の値を関数に渡す時

void test(int score[], int n)
という様に[]の中身をnで代用してますよね。

2次元配列の場合もそうしなければならないのですか?
score[2][3]の値を渡したい時

1 void test(int score[][], int m, int n)
呼び出し:test(score, 2, 3);

2 void test(int score[][3])
呼び出し:test(score);

3 void test(int score[][3], int n)
 呼び出し1:test(score, 3);
 呼び出し2:test(score, 2);

のどれが正しいんですか??
教えて下さい。(_ _)。ぺこ

No.1210

Re:はじめまして
投稿者---C職人(2002/03/07 14:17:40)

正解は2番です。
列要素のみが受け側でわかればいいので[][2]のようになります。
単純に要素の位置を計算するのに必要だからです。


No.1231

Re:はじめまして
投稿者---サキ(2002/03/10 17:07:56)


では2次元配列の場合、
[]の中身を両方省略するのはいけないんですね。
有り難う御座います。

戻る


「初心者のためのポイント学習C言語」 Last modified:2002.05.14
Copyright(c) 2000-2002 TOMOJI All Rights Reserved