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),支持成员函数的定义。