引数として2つの行列を渡したいと思います。これらの行列はサイズが異なり、この作業をどのようにしなければならないのか分かりません:引数を引数として渡します
#include <stdio.h>
#include <stdlib.h>
void f(int m[3][], int n);
int main()
{
int A[3][3]={{1,2,3},{4,5, 6},{7,8,9}};
int B[3][2]={{1,2},{3, 4}, {5, 6}};
f(A, 3);
f(B, 2);
return 0;
}
void f(int m[3][], int n)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<n;j++)
printf("%5d", m[i][j]);
}
return;
}
どうすればいいですか?
void f(int **m, int w, int h)
{
int i,j;
for(i=0;i<w;i++)
{
for(j=0;j<h;j++)
printf("%5d", m[i][j]);
}
return;
}
オプションパラメータとしてこれを行うには、私の知っている
どうしたらいいですか?コンパイル時エラーが出ていますか? –
[C89](http://en.wikipedia.org/wiki/C89_(C_version)#C89)、[C99](http://en.wikipedia.org/wiki/C99)、または一部のコンパイラCの方言特有の方言?コンパイラが受け入れるように設定されている言語のバージョンに応じて、行列引数を関数に渡す方法には違いがあります。 –
@HunterMcMillenはいmain.c | 5 |エラー:配列型に不完全な要素型があります /main.c|12|error:仮パラメータ1の型が不完全です – Nick