自定义类型:结构体、共用体(联合体)、枚举
1.1结构体类型的概念和定义
构造类型:
不是基本类型也不是指针,他是若干个相同或者不同的数据集合。
常用的构造类型有:数组、结构体、共用体。
数组是具有相同数据类型的集合,用于处理大量的相同类型的数据运算。
结构体用于将不同的数据类型的数据组合到一起,以便引用。
1.1.1概念
结构体是一种构造类型的数据结构。
是一种或多种基本类型或构造类型的集合。
1.1.2定义方法
在使用构造体之前必须先有类型,然后用类型定义数据结构
这个类型相当于一个模具
1.先声明构造体类型,再去定义结构体变量
注:1.定义结构体类型时,不分配空间
2.定义结构体变量后,才分配空间
2.在定义结构体类型时顺便定义结构体变量,以后还可以定义结构体变量
注:1.一般结构体类型都会定义在全局,就是main函数外面
所以在定义结构体类型时同时定义结构体变量,这些变量一般都是全局变量
定义完类型后定义结构体变量内存分配需要看结构体变量的位置
3.在定义结构体类型时,没有定义结构体类型名,顺便定义结构体变量
也称无名结构或匿名结构
注:无名结构体无类型名,只能定义类型时同时定义结构体变量
4.给数据类型取别名typedef
1.2结构体变量的初始化及引用
1.2.1定义和初始化
结构体变量是个变量,这个变量时若干个数据的集合
注:
1.在定义结构体变量之前,必须先定义结构体类型,然后在定义变量
2.在定义结构体类型时,可以顺便给结构体变量赋初值,成为初始化
3.结构体变量初始化时,各个成员顺序初始化
1.2.2结构体变量引用
1.结构体变量的简单引用:
注:这里结构体主要指结构体普通变量
2.结构体成员变量可以像普通变量进行各种 *** 作
3.结构体嵌套使用
成员引用时,需要一级一级引用,不能跳级。
4.相同类型结构体之间可以相互赋值
5.结构体指针
注:不同结构体之间不可以相互赋值
1.3结构体数组
结构体数组是一个数组,由若干个相同类型的结构体变量组成的集合
1.3.1结构体数组定义方法
1.3.2结构体数组的引用
1.3.3结构体数组做函数参数
1.结构体变量的成员做函数参数时--单向传递
2.结构体变量做函数参数时--单向传递
3.结构体数组做函数参数--数组名地址传递
4.结构体指针传参
5.结构体作为函数返回值
1.4用typedef声明新的类型名
typedef为c语言的关键字,作用是为了一种数据类型定义一个新名字,不能创建新类型
1.4.1命名规则
习惯上,常把typedef声明类型名的第一个字母用大写表示,以便与系统提供的标准类型标识符相区别。
1.4.2typedef和#define的区别
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)