C 结构不定义类型?

标签 c

我刚刚开始学习 C,具有专业的 Java 背景和一些(如果不是太多的话)C++ 知识,令我惊讶的是这在 C 中不起作用:

struct Point {
    int x;
    int y;
};

Point p;

p.x = 0;
p.y = 0;

看来我必须使用 struct Point 作为类型或使用 typedef 来声明 p。这段代码在 C99 中有效吗?或者这是一个“C++ 东西”?

最佳答案

据我所知,在 C99 中如果没有 typedef 它也不应该工作(因为这只是 C 的工作方式),但它在 C++ 中作为 struct 工作 在 C++ 中只是一个 ,默认情况下所有成员都是公共(public)的。

关于C 结构不定义类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1737710/

相关文章:

c - 找到将 N 减少到零的最小步数

c - 如何获取变量的各个字节的值?

c - 具有矩阵分配和文本碰撞的程序

c - 从管道读取 SPI

c - C函数(不带参数)带参数调用

C:未定义的行为事实

c - 为什么 ALSA 示例使用循环播放/捕获?

c - 为什么在ubuntu64中反转堆栈中元素的地址?

c++ - 在mac上运行c程序有问题吗?

c - 如何在C语言中使用运算符?