gpt4 book ai didi

java - 声明与其定义类型相同的结构变量

转载 作者:行者123 更新时间:2023-11-30 20:29:42 24 4
gpt4 key购买 nike

struct Phant {
int y;
struct Phant y;
};

在此代码中,我收到编译错误。

在 Java 中编写相同的内容,只需稍作更改,即用类替换结构,代码就可以完美运行

class Ded {
int y;
Ded s = new Ded();
}

为什么我在第一个代码片段中遇到编译错误,而第二个代码片段却有效?

最佳答案

无论何种语言,struct 都不能包含自身。它将无限大。

但是,它可能包含一个指向自身的指针/引用,就像在 Java 示例中一样(因为指针具有固定的已知大小)。在 C 语言中,写法如下:

struct Phant {
int i;
struct Phant *p;
};

struct Phant p1;
p1.p = malloc(sizeof(struct Phant));

关于java - 声明与其定义类型相同的结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56815427/

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