结构体
什么是结构体?
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。
结构体类型的声明:
struct Stu
{
char name[20];//名字
int age;//年龄
char sex[5];//性别
char id[20];//学号
};//分号不能丢
这个struct Stu就是你创建的一个类型,里面的所有成员变量都可以是不同类型。
特殊声明:
匿名结构体类型
//匿名结构体类型
struct
{
int a;
char b;
float c;
}x;
struct
{
int a;
char b;
float c;
}a[20], *p;
//在上面代码的基础上,下面的代码合法吗?
p = &x;
结果:不合法,记住,即使两个结构体内容相同,它们仍然是两种类型的结构体。
结构的自引用
结构体内包含一个成员为结构体本身。
正确的做法
struct Node
{
int data;
struct Node* next;//如果没有*号,就是错误的,
};
类型先定义,后使用!
结构体的定义和初始化:
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 =