新しいプロジェクトの既存のコードを変更しています。動的メモリ割り当てを削除し、静的宣言を使用するように指示されました。
変数 arp があります。以前は double ポインターでしたが、malloc を使用してメモリが割り当てられ、2D 配列としてアクセスされます。
今、私はそれを配列へのポインタとして変更しました: char (*arrp)[];
arp が指す 2D 配列のサイズは、実行時にのみわかります。私の問題は、サイズが宣言されていない場合、コンパイラがエラーをスローすることです('char (*)[]' : unknown size)
次のコードを参照してください。私はこのようなことをしました
char (*arrp)[]; //This will be from different module,
//I have declared as local variable for our reference
char (*parr)[2];
char arr[3][2];
parr = &(arr[0]);
arrp = (char (*)[])&(arr[0]);
//inside loops for i, j
...
printf("%c",parr[i][j]); // This works fine
printf("%c",arrp[i][j]); // Error :'char (*)[]' : unknown size)
....
//Some code
arp宣言時は配列のサイズを取得できません。このエラーを解消する方法はありますか?