malloc を使用して定義した 2 次元配列を関数に渡したい。まず、ブログ投稿のコードを使用して配列を定義します。
int** Make2DIntArray(int arraySizeX, int arraySizeY) {
int** theArray;
theArray = (int**) malloc(arraySizeX*sizeof(int*));
for (int i = 0; i < arraySizeX; i++)
theArray[i] = (int*) malloc(arraySizeY*sizeof(int));
return theArray;
}
int main(){
int** myArray = Make2DIntArray(nx, ny);
}
これを myArray[i][j] として使用できます。その後、この配列を関数に渡したいと思います。次のように渡そうとしました:
function(myArray); //function call
//function
void function(int myArray[][]){
//function code goes here
}
しかし、これは間違っています。問題は、配列のサイズが毎回異なることです。また、配列の列の最大サイズを定義して、次のように使用しようとしました:
#define COLUMNMAX 100
function(myArray); //function call
//function
void function(int myArray[][COLUMNMAX]){
//function code goes here
}
しかし、私はエラーが発生しました:
仮パラメータ 1 の型が不完全です。どのように渡すことができますか?