C语言结构体(struct)
结构体
- 结构体
- 结构体类型的声明
-
- 结构体创建图解:二种方法
- 结构体初始化
-
- 结构体的初始化有三种:
- 结构体成员访问
- 结构体传参
结构体
结构体是指:
不同类型值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量
结构体和其他类型基础数据类型一样,例如int类型,char类型只不过结构体可以自定义数据类型
进行复杂对象的描述就会使用到结构体
例如:
一个学生的信息就需要学号(字符串),姓名(字符串),年龄(整形),电话号码(int)等等
这些数据类型都不同但是他们又是表示一个整体,结构体就可以将不同类型的数据存放在一起,当做一个整体进行使用,也可以进行封装再次利用
结构体类型的声明
结构体声明的语法形式:
struct book
{
char a;
char b; 成员列表
int c;
};
这里struct 是一个结构体关键字
book 是结构体标签,可以更改
结构的成员可以是标量、数组、指针,甚至是其他结构体
结构体创建图解:二种方法
结构体初始化
结构体初始化在对结构体变量初始化时,要对结构体成员按照顺序一个一个赋值,不能跳过前面成员变量,而直接给后面成员赋初值,但是可以只赋值前面几个成员,对与后面的成员未赋值的变量,如果是数值型,则会自动赋值为0,对于字符型,会自动赋初值为NULL,即‘\0’
结构体的初始化有三种:
-
结构体变量创建时赋值
-
定义结构体时赋值
struct peo
{
char name[20]; //名字
char tele[12]; //电话
char sex[5]; //性别
int high; //身高
}s = {
"张三","14256715841","男",182 };
俺头不能秃: a=8,b=2,a*i=8,(a*i)%b=8%2=0,所以a=8,i=1,a*i=不应该8?为什么1?
2301_81346982: 就是/b啊,b不是最大公约数吗
323208: 还是看不懂有些代码为什么这样写
2301_81202136: 数据特别大时候法二很快
m0_64827846: 这不和鹏哥一模一样