简述
结构体可以理解成“类”。把结构体理解成是一种类型,而不是变量
0X01
声明一个结构体类型
struct Student {
char *name;
};
struct Student 是一个变量类型,类似 int、string。
定义并初始化一个结构体类型的变量
struct Student student;
student.name = "jack ma";
定义并初始化一个结构体类型的指针变量
struct Student *student;
student -> name = "jack ma";
//和上面一行代码等价
(*student).name = "jack ma";
声明一个结构体类型的同时,声明一个变量和一个指针变量
struct Student {
char *name;
} student,*stu;
0X02
给结构体类型取别名
struct Student {
char *name;
};
//定义别名
typedef struct Student Stu;
//利用别名声明一个结构体变量
Stu stu;
//或者是:
typedef struct Student {
char *name;
}Stu;
Stu stu;
给结构体类型取“指针别名”
struct Student {
char *name;
};
//定义别名
typedef struct Student *Stu;
//利用别名声明一个结构体指针变量
Stu stu;
stu -> name = "jack ma";(注意先给指针变量赋值,就是一个地址)
//或者是
typedef struct Student {
char *name;
}*Stu;
//利用别名声明一个结构体指针变量
Stu stu;
网友评论