天天看点

c++ new一个结构体_c/c++ struct结构体定义及用法详解

在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语言

c++ new一个结构体_c/c++ struct结构体定义及用法详解

继续阅读