可能重複:
determine size of dynamically allocated memory in cÇ - 這是由realloc的創建數組的大小
我在我的C代碼struct
,但這個問題也同樣適用於所有其他類型,所以我會用int
而不是我創建的struct
。
int *a = realloc(NULL, 10*sizeof(int));
printf("%d\n",sizeof(a)); //prints 4, needed to be 40
int b[10];
printf("%d\n",sizeof(b)); //prints 40
我的問題是這樣的:我用我的代碼realloc
,我不知道我怎樣才能找到我的陣列的總大小。什麼是最簡單的方法來做到這一點?謝謝。
'sizeof'不能做你想要的指針。你可以簡單地不「忘記」你傳遞給'realloc'的東西。 – cnicutar 2012-07-23 10:11:26
@PaulR編譯時間?那麼'VLAs'呢? – cnicutar 2012-07-23 10:12:09