目录
结构体:
-
结构体的基础
通过类型创建变量的过程叫做实例化
struct tag——类型(tag是类型标识符)
{
member-list;——成员列表(结构体成员变量可以是不同类型)0
}name;——变量名列表(全局变量)最后的分号不能省略
-
匿名结构体声明
struct——可以省略(tag标识符)
{
member-list;
}name;
-
结构体的成员访问
struct tag
{
char name[20];
int age;
};
访问成员方法:
1.使用结构体变量名+ . +结构体成员变量名来访问
struct tag s;//定义结构体变量
s.age = 20;
strcpy(s.name,"zhangpeng");
2.通过使用结构体指针的形式来访问成员
结构体指针变量名+ -> +结构体成员变量名来访问
struct s*ps;//结构体指针的定义
ps->age = 20;
strcpy(ps->name,"zhangpeng");
-
结构体的自引用
在结构体成员变量中有指向本身结构体的结构体指针
1.
struct node
{
int date;
struct node*next
};
2.
typedef struct node
{
int date;
struct node*next;
} node;
-
结构体的定义和初始化
struct point
{
int x;
char name[15];
}p2; // 声明类型的同时定义结构体变量p2;
struct point p1;//定义结构体变量p2;
struct point p3={"zhangpeng",20}; //初始化结构体成员变量
struct node
{
int date;
struct point p1;
struct node* next;
}n1={10,{"zhangpeng",20},NULL};//结构体嵌套初始化
struct node n2 = {20,{"yang",20},NULL};//结构体嵌套初始化
-
结构体内存对齐
1.计算结构体内存大小(结构体内存对齐)
struct s1
{ 地址