在提到malloc调用的结构大小时,最好提一下结构的名称或解引用的结构指针变量吗?
例:
struct ExampleStruct
{
int x;
char arr[40];
};
int main()
{
struct ExampleStruct *Y = NULL;
Y = malloc(sizeof(struct ExampleStruct)); //Is this better?
Y = malloc(sizeof(*Y)); //Is this better?
}
Run Code Online (Sandbox Code Playgroud)
我个人更喜欢,sizeof(struct ExampleStruct)因为我看到许多开发人员在第二种方法中错误地错过了'*',即他们错误地输入它malloc(sizeof(Y)),在这种情况下,分配的内存将只有4个字节.但是,我已经看到它也被普遍使用.