c - C 结构如何引用自身?

标签 c gcc

C 编译器(我使用的是 GCC)如何知道如何处理以下内容?

struct node
{
    int x;
    struct node* next;
};

更准确地说,如果 node 尚未完全定义(我们还没有到达右大括号),那么编译器如何知道结构应该有多大?

虽然我意识到“指向”只需要一个地址,但递增指针确实需要它指向的数据的大小。

最佳答案

struct 的大小并不重要,因为存储的是指向 struct 的指针,而不是 struct 本身。

在递增指向struct 的指针方面;这是在 struct 定义之外完成的,所以同样,这并不重要。

关于c - C 结构如何引用自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615597/

相关文章:

python - C 或 Python 用于创建套接字连接的性能和可伸缩性?

c - 从文件中读取日期时 atoi 行为异常

c - 了解 x86 微基准测试中退役的加载和存储数量

c++ - 在一个 Linux 发行版上使用 g++ 编译的可执行文件在另一个发行版上使用是否有限制?

c - 使用 GDB 在 "?? ()"中出现内存故障

c - 鉴于 p 是指向不完整类型的指针,&*p 是有效的 C 语言吗?

c++ - 使用同一个对象写入宽字符和字符写入同一个文件

c - 如何在不停止管道的情况下在多个 rtsp 视频流之间切换 [无缝流式传输]

c - 链接库头时对...的 undefined reference

c++ - Intel vs GCC on constexpr