C和C++的struct区别

来源:互联网 发布:200万网络摄像机一夜 编辑:程序博客网 时间:2024/06/01 08:20

C语言中struct和typedef struct

typedef struct Student{     char name[10];     int age;}Stu;
在声明变量的时候就可:Stu stu1;这里的Stu实际上就是struct Student的别名。

<span style="font-size:18px;">struct Student{     char name[10];     int age;};</span>
如果没有typedef就必须用struct Student stu1;来定义变量。


C++中的struct是对C中的struct的扩充,但是也兼任过去C中struct应有的所有特性。

<pre name="code" class="cpp">struct Student{     char name[10];     int age;};

就定义了一种自定义类型Student,声明变量时直接Student stu1;

2其次:
在c++中如果用typedef的话,又会造成区别:

struct Student{     char name[10];     int age;}stu1;//stu1是一个变量 这里的struct跟class相似,只是默认的访问权限不同。

typedef struct Student2{      char  name[10];      int age;}stu2;//stu2是一个结构体类型  这里是兼容C语言的struct。

C语言中:

Struct是用户自定义数据类型(UDT)。

C++语言中:

Struct是抽象数据类型(ADT),支持成员函数的定义。


0 0
原创粉丝点击