一、 基本定义格式
struct 结构体类型名{
elementtype name;
}结构体变量名;
二、匿名结构体
struct { //定义时去掉结构体类型名
elementtype name;
}结构体变量名;
注意:匿名结构体只能作用于函数内部使用,即不能在其他函数调用,在本函数内部可以多次使用
三、加入typedef
①
typedef struct{ //定义时去掉结构体类型名
elementtype name;
}结构体变量名;
调用结构体内部变量格式 结构体变量名.name;
②加上结构体类型名
typedef struct 结构体类型名{
elementtype name;
}结构体变量名;
上述等价于
struct 结构体类型名{
elementtype name;
};
typedef struct 结构体类型名 结构体变量名;
③加指向结构体的指针
typedef struct 结构体类型名{
elementtype name;
struct 结构体类型名 *next;
}结构体变量名,*结构体指针;
等价于
typedef struct 结构体类型名{
elementtype name;
}结构体变量名,*结构体指针;
typedef struct 结构体类型名 结构体变量名;
typedef struct 结构体类型名 *结构体指针;
④ 结构体内部加指针
typedef struct 结构体类型名{
elementtype name;
struct 结构体类型名 *next; //struct后面名字必须与第一行相同
}结构体变量名,*结构体指针;
通常我们将结构体类型名和结构体变量名写为一样的,这样方便操作代码