结构体
问题:结构体是什么,为什么我们会使用到结构体
- 在处理问题的时候,我们会遇见复杂的对象
- 例如 人/书都是复杂对象,不能用一个简单的类型去描述
- 人:名字+姓名+性别+地址+电话
书:书名+作者+出版社+定价+书号
这时候C语言就给了他们自定义类型的能力
自定义类型中有一种叫结构体 struct
结构体把一些单一类型组合在一起的做法
如何构建结构体
(1) 首先要给结构体命名 struct Stu (Stu就是结构体的名字,一般首字母大写)
(2)构建结构体在{ }(花括号中){ }结尾+ ;(分号)
(3)创建结构体成员(变量)
#include <stdio.h>
struct Stu//结构体类型
{
char name[20];
int age;
char sex[10];
char tele[12];
//结构体成员四个
};
如何使主函数调用结构体
(1)首先用结构体类型(struct Stu)创建一个变量 s,并为变量s赋值将其初始化(赋予的值写在{ }中)
(2)且赋值顺序要与结构体中成员的顺序一致
int main()
{
struct Stu s = { "huangchengzi",18,"nan","15789624587" };
//用结构体的类型创建变量 s,并赋值,即为初始化
//"huangchengzi"就放在了name里面
//18放在了age里...
return 0;
}
如何输出结构体中各个成员的值
(1)用printf函数输出
(2)输出访问的对象要使用点操作符
(3)点操作符的用法: 结构体对象 . 成员名
结构体对象是在主函数中创建的变量(s)
成员名是结构体中的成员名
printf("%s %d %s %s\n", s.name, s.age, s.sex, s.tele);
//s.name,结构体对象访问里面的成员使用的是.(点)操作符
//点操作符的用法 :结构体对象 . 成员名
完整代码以及运行结果
注意
1.结构体类型:struct Stu
2.结构体对象 :在主函数中创建的变量(此代码为变量s)
3.成员名:在结构体中定义的成员的名(此代码为 name age sex tele)