自定义数据类型

自定义数据类型,第1张

自定义类型:结构体、共用体(联合体)、枚举

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的区别

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/2990600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存