初心者です。宜しくお願いします。
CHAR型の二次元配列があるのですが、どうしたら引数として
ほかのルーチンへ渡せるのでしょうか?
よろしくおねがいします。
例えば次のような2次元配列を定義した場合
char out_DoubleDim[a][b];
VC++環境ならば
以下の関数に
Test_000((char*)&out_DoubleDim,a,b);
と渡してやれば良いでしょう。
void
Test_000(char* out_lp,int FirstDim,int SecondDim){
/*
~処理~
*/
//表示
for(int i=0;i<FirstDim;i++) printf(%s\n,&out_lp[i*SecondDim]);
return;
}
他の環境なら私の場合
char out_DoubleDim[a][b];
char* out_lpString[a];//をあらかじめ確保しておき
for(int i = 0;i<a;i++){
out_lpString[i] = out_DoubleDim[i];
}//とアドレスをコピーして
以下の関数に
Test_001(&out_lpString[0],a);
と渡してやります
void
Test_001(char**out_lpp,int FirstDim){
/*
~処理~
*/
//表示
for(int i=0;i<FirstDim;i++) printf(%s\n,out_lpp[i]);
return;
}
ten_bunさん
一次配列に二次配列を代入して
一次配列として別ルーチンに渡すことにしました。
ごていねいにご返事頂き
ありがとうございました。