结构体简介
我们都知道C语言中有内置类型 比如:
char
short
int
long
long long
float
double还有自定义类型 比如:
结构体 struct
枚举 enum
联合体 union
今天来讲一下结构体,结构体一般可以来自定义比较复杂的对象
人:名字,性别,年龄,身高…
书:书名,作者,出版社,定价…
代码如下:
//定义一个学生类型
//姓名 性别 年龄
struct Stu//struct后接结构体名称
{
char name[20];//名字是字符串,用char类型定义
char sex[5];
int age;//年龄可以用整形来定义
};//代码块后要有分号来作结尾
int main()
{
struct Stu s = {"William", "男", 20};//结构体初始化
printf("%s %s %d", s.name, s.sex, s.age);//.为结构成员访问操作符
return 0;
}
备注:用“.”+名称来访问结构体成员
我们也可以取结构体的地址来访问结构体的成员
代码如下:
struct Stu
{
char name[20];//名字
char sex[5];//年龄
int age;//性别
};
void Print(struct Stu* ps)//用指针来接收地址
{
//printf("%s %s %d\n", (*ps).name, (*ps).sex, (*ps).age);
//->
//结构体的指针->成员名
printf("%s %s %d\n", ps->name, ps->sex, ps->age);
}
int main()
{
struct Stu s = {"William", "男", 20};
Print(&s);//写一个打印的函数
return 0;
}