在Objective-C/C中无法正确malloc

Laj*_*tor 1 c malloc objective-c

我有一个OpenGL程序,但无法正确分配.

m_VertexData = (GLfloat*)malloc(sizeof(m_TempVertexData));
m_NormalData = (GLfloat*)malloc(sizeof(m_TempNormalData));
NSLog(@"sizeOfTempVertex: %d sizeOfTempNormal: %d", sizeof(m_TempVertexData),sizeof(m_TempNormalData));
NSLog(@"sizeOfVertex: %d sizeOfNormal: %d",sizeof(m_VertexData),sizeof(m_NormalData));
Run Code Online (Sandbox Code Playgroud)

NSLog的:

sizeOfTempVertex:432 sizeOfTempNormal:432

sizeOfVertex:4 sizeOfNormal:4

Oli*_*rth 8

sizeof告诉你类型的大小(在编译时计算).它没有告诉你动态分配多少内存.1


1.除了C99的可变长度数组的特殊情况.