我刚刚开始学习 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/