インターネットで見つかったいくつかのコードを見て、次のコードに出くわしました。
int (*p)[3];
p = (int(*)[3]) calloc(5*3,sizeof(int));
マトリックスを割り当てる方法にすぎませんか?
int (*p)[3]
3 int の配列へのポインターを作成することは理解していますが、calloc
呼び出しについてはわかりません。最初のパラメーター ( ) に等しいcalloc
数 (この場合) を割り当てて初期化することはわかっています。
したがって、それを割り当てると、ポインタが割り当てられたばかりのメモリ位置を指すようになるはずです。int
5*3
p
それで、私の推論が間違っていることを知っているので、誰かが私を訂正してもらえますか?