在c语言中,定义一个结构体类型最好用上typedef这种方式,至于为什么?下面我们简单讲下。
typedef struct point{int x;int y;}Point;在声明变量或定义变量的时候就可以像这样:Point p1;
如果没有用typedef这个关键字,如:struct point {int x;int y;};在声明变量或者定义变量的时候就必须用:struct point p1;可以看出Point是struct point的别名。其实也可以省去point如下:typedef struct {int x;int y;}Point;
=================
在c++里,用法比c语言简单
struct Point {int x;int y;};定义了一个结构体Point,声明变量时直接用Point p1;
如果使用typedef又会造成区别struct Point{int x;int y;} p1; //这里定义了Point结构体,同时声明了一个变量p1typedef struct Point{int x;int y;} p2; //这里的p2 是Point的别名
总结:
在c中 struct 不能包含函数
在c++中, 对struct进行了扩展,可以包含函数
在c++中, 之所以包含两种定义方式主要是为了兼容c语言