万千只cnm 发表于 2021-2-2 15:28:06

结构体什么时候分配空间


声明结构体时不分配空间如
struct Library
{
...
};


那请问定义结构体变量时
struct Library *book;

这时候是不是就分配了了呢 是在栈上吗(还是指针的四个字节吗);


book=malloc(sizeof(struct Library));
这时候 把堆上开辟的空间(struct Library类型)的首地址赋给book

大佬们 我理解的对吗{:5_104:}      book(指针)的空间在栈上指向的内容(结构体空间)在堆上

万千只cnm 发表于 2021-2-2 15:29:20

有人吗 嘛

kishere 发表于 2021-2-2 15:43:07

你理解的是对的, 定义指针时只有4字节, 并没有实体, malloc 开辟一块空间, 空间大小等于结构体大小.
页: [1]
查看完整版本: 结构体什么时候分配空间