结构体(struct)指的是一种数据结构,是C语言中复合数据类型(aggregate data type)的一类。 结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。 结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
定义结构体的一般格式为:
struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构变量;
还有一种格式为:
typedef struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构别名;
C中定义结构体需要使用typedef
typedef struct Student
{
int age;
}Stu;
或者这样写
typedef struct
{
int age;
}Stu;
在声明变量的时候是这样使用:
Stu stu1;
还或者这么写:
struct Student
{
int age;
}Stu;
在声明变量的时候是这样使用:
Student Stu stu1;
C++中
typedef struct Student
{
int age;
};
在声明变量的时候是这样使用:
Student stu1;
其实这里我们会想typedef这个关键词是用来干啥的?
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。