我在使用malloc或realloc分配內存後得到結構指針大小的問題。我已經通過在單獨的計數器中跟蹤內存來解決這個問題,但是我想知道這是否是一個錯誤,或者是否有方法來正確查詢結構指針的大小。在sizeof()方法中沒有提供正確大小的結構指針
示例代碼演示了無論我分配給結構指針的內存有多少,在使用sizeof()方法查詢時總是返回4。
typedef struct {
int modelID;
int bufferPosition;
int bufferSize;
} Model;
Model *models = malloc(10000 * sizeof(Model));
NSLog(@"sizeof(models) = %lu", sizeof(models)); //this prints: sizeof(models) = 4
請標記這個Objective C而不是C. – Lundin