【发布时间】:2011-12-14 18:00:19
【问题描述】:
我在使用 malloc 或 realloc 分配内存后获取结构指针的大小时遇到问题。我已经通过在单独的计数器中跟踪内存来解决这个问题,但我想知道这是否是一个错误,或者是否有办法正确查询结构指针的大小。
示例代码演示了无论我为结构指针分配多少内存,在使用 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
【问题讨论】:
-
请标记此目标 C 而不是 C。
标签: objective-c struct malloc