2

重複の可能性:
C で動的に割り当てられたメモリのサイズを決定する
malloc と sizeof に関する初心者向けの質問
C でポインターから配列のサイズを取得するにはどうすればよいですか?

Malloc -> どのくらいのメモリが割り当てられていますか?

int **arrofptr;
arrofptr = (int **)malloc(sizeof(int *) * 2);
arrofptr[0] = (int *)malloc(sizeof(int)*6144);
arrofptr[1] = (int *)malloc(sizeof(int)*4800);

arrofptr、arrofptr [0]、arrofptr [1]に割り当てられているバイト数を知る必要がありますか? サイズを知る方法はありますか?

印刷する場合

sizeof(arrofptr);
sizeof(arrofptr[0]);
sizeof(arrofptr[1]);

次に、4を出力します

4

2 に答える 2

4

いいえ、ポインタが参照しているメモリの量を見つける方法はありません。

少なくともどのシステムにもないため、移植可能な方法はありません。

于 2012-10-09T15:36:59.127 に答える
2

いいえ。割り当てられたサイズを格納する余分なデータをどこかに使用しないわけではありません。

于 2012-10-09T15:37:04.200 に答える