0
このプログラムを実行すると、出力は4バイトになります。動的に割り当てられた変数サイズ
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *b;
b=(int*)malloc(10*sizeof(int));
printf("%d",sizeof(b));
return 0;
}
(私は、64ビットコンパイラを使用します)しかし、私は動的に「B」のためのスペースの40バイトを割り当てていますように、出力は40バイトではないでしょうか?
**ポインタは配列ではありません**。 – haccks
ポインタが配列ではありません。わかった。しかし、どのくらいのバイトがbに割り当てられているか分かりますか? –
ポインタ自体のサイズを表示します。 (4バイト、32ビットですが、64ビットコンパイラについては確信していますか?)割り当てられたヒープ割り当てブロックのサイズを取得する方法はありません。 – HolyBlackCat