我刚开始用专业的Java背景和一些(如果没有太多)C++知识学习C,我很惊讶这在C中不起作用:
struct Point {
int x;
int y;
};
Point p;
p.x = 0;
p.y = 0;
Run Code Online (Sandbox Code Playgroud)
似乎我必须声明p使用struct Point作为类型或使用typedef.这段代码在C99中有效吗?或者这是一个"C++的东西"?
不,结构不定义新类型.你需要的是:
typedef struct {
int x; int y;
} Point;
Run Code Online (Sandbox Code Playgroud)
现在Point是你可以使用的新类型:
Point p;
p.x = 0; p.y = 0;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1622 次 |
| 最近记录: |