gpt4 book ai didi

c - 嵌套结构内存分配

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:44 25 4
gpt4 key购买 nike

我看到了几个关于这个主题的问题。但是我的查询无法得到解决。链接:

Structure memory allocation , Allocating memory for nested structure pointer , Understanding Nested Structures

基本上内存是在我们创建结构实例时分配的,而不是在我们定义它时分配的。那么,如果我在此结构中创建另一个结构的对象,即制作类似这样的东西怎么办:

struct a{
int c;
};

struct b
{
struct a obj;
};

当我们在 struct b 中声明它时,现在是否将内存分配给 struct a 对象?(我们也可以通过指针来实现,但是如果我们这样做会怎样) .

最佳答案

在您的例子中,struct b 也是一个(另一个)声明,与 struct a 相同。

这里没有内存分配。如果定义了这种类型的变量,编译器就可以知道要分配多少内存。仅仅因为一个结构的成员是另一个结构,并不意味着必须在那里分配内存。一旦您拥有该类型的变量,就会进行内存分配。

这里唯一需要注意的是,内部结构类型必须在用作外部类型的成员之前声明。

关于c - 嵌套结构内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45158364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com