C语言自定义类型
结构体
结构体类型的声明
结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量。
struct tag
{
member-list;
}variable-list;
struct tag x;
也可以通过typedef
对类型重命名
typedef struct Student
{
char name[20];
int age;
char sex[6];
} Student;
// 这里的Student不是变量名,而是类型名
Student x;
对结构体类型的变量进行初始化
Student x = {
"zhangsan", 20, "male"};
printf("%s %d %s", x.name, x.age, x.sex);
// 结构体成员的访问使用 .
// 匿名结构体类型
struct
{
char name[20];
int age;
char sex[6];
} Student;
关于匿名结构体类型,有一个需要注意的点
struct
{
char name[20];
int age;
char sex[6];
} Student;
struct
{
char name[20];
int age;
char sex[6];
} *p;
p = &Student;
虽然两个结构体内容一样&