配列変数に続くポインタがあります。Cの配列へのポインタ:アドレスの算術と配列の割り当て
int (*p)[3];
int a[3] = { 1,2,3 } ;
int b[3] = { 11,22,33 } ;
int c[3] = {111,222,333} ;
これら3つの配列を変数pに格納します。どのように私はp のメモリを割り当てる必要がありますどのようにのの配列のようなこれらの3つの配列を格納する必要があります。これが可能かどうか...?そしてどうやって..?
注:
p = (int (*)[])malloc(3);
Now this p is capable of pointing three integer array which size 3 . How i have to assign these a,b,c to this p ?
。
私はその質問を理解していないのでしょうか?完全なタイプを正確に教えてください。そのような:intへのポインタの配列、またはintの配列へのポインタの配列? –
あなたのコード内のmallocは、3バイトを割り当てます。ポインターのサイズは現代のコンピューター上で少なくとも4バイトであるため、期待通りに3つの整数配列を指すことはできません。 – littleadv
修正:あなたは 'p =(int(*)[])malloc(3 * sizeof(int *)); ' –