1、结构体声明
1.1 结构体的基础知识
结构体是一些值的集合,这些值称为成员变量。结构体的每个成员可以是不同类型的变量。
1.2 结构体的声明
1.2.1结构体声明的语法:
struct tag
{
member-list;
}variable-list;
1.2.2 code示例:描述一个学生
struct Stu
{
char name[20];//名字
int age;//年龄
char sex[5];//性别
char id[20];//学号
}; //分号不能丢
1.3 特殊的声明
在声明结构的时候,可以不完全的声明。结构在声明的时候省略掉了结构体标签(tag)。
code示例
//匿名结构体类型
struct
{
int a;
char b;
float c;
}x;
struct
{
int a;
char b;
float c;
} a[20], *p;
1.4 结构体的自引用
结构自引用:在结构中包含一个类型为该结构本身的成员。
结构自引用的语法:
struct Node
{
int data;
struct Node* next;
};
typedef struct Node
{
int data;
struct Node* next;
} Node;
1.5 结构体变量的定义和初始化
code示例:定义结构体遍历
struct Point
{
int x;
int y;
} p1; //声明类型的同时定义变量p1
struct Point p2; //定义结构体变量p2
//初始化:定义变量的同时赋初值。
struct Point p3 = {
x, y};
struct Stu //类型声明
{
char name[15];//名字
int age; //年龄
};
struct Stu s = {
"zhangsan", 20};//初始化
struct Node
{
int data;
struct Point p;
struct Node* next;
} n1 = {
10, {
4,5}, NULL}; //结构体嵌套初始化
struct Node n2 &