章节导学第10章 用户自定义数据类型
2012-09-13 14:30
197 查看
顾名思义,用户自定义数据类型是程序员自己定义的数据类型。数据类型规定了存储单元的类型,用于定义变量。编译系统不太可能会处理程序员“发明的”“全新的”数据类型,因此,自定义数据类型中的“自定义”是有条件的。程序员只能在C语言“基本数据类型”的基础上,通过限定或组合来定义“新的”“自己的”数据类型。
结构型是最典型的自定义数据类型,与之相关的存储单元由多个类型不同的基本类型存储单元组合而成。当定义一个结构型变量时,就会申请一个这样的存储单元,其中属于它的多个基本类型存储单元都有一个内部的名称,整个存储单元由结构型变量名代表。数组变量虽然也包含了多个存储单元,但实际上通常只使用它表现为基本类型的数组元素。使用结构型变量时多数情况下也是使用其中的某个基本类型存储单元,用结构体成员操作符(.)把结构型变量名和内部的名称结合起来就是相关存储单元的变量名。这样看来,结构型与数组类似,数组变量是多个同类型变量的代表,它包含了多个数组元素,而结构型变量是多个不同类型变量的代表,它包含了多个成员变量。
结构型的作用与数组的不同,结构型变量用于存储程序中属于同一个对象的不同属性的数据。面向对象程序设计语言中的类就是由结构型改进而来。面向对象程序设计语言有C++、Java、C#等,而C语言是典型的结构化程序设计语言。
对于非void型指针变量p,语句p=&p;错误。对于结构型变量s,类似s.next =&s;的语句则可以将多个同类型的结构型变量连接起来串成链表(s.next为变量s的一个成员变量)。链表的作用与数组的类似,将多个数据(变量)组织起来,数据之间有了“次序”,便于用统一的方法进行处理。
联合型变量也包含了多个成员变量,但它们共享存储单元,这就意味着在某个时刻只有一个成员变量是真正可以使用的。有时可以利用一个联合型变量代替多个普通变量以减少程序对存储空间的需求。
枚举型变量只能取定义枚举型时所规定的“标识符”。虽然枚举型本质上是整型,枚举型的“标识符”也只是符号常量,但是,采用枚举型可以极大地提高程序的可读性,同时由于限制了“整型”的取值范围,可以避免程序中用错误的数据给变量赋值,防止出现逻辑错误。
结构型是最典型的自定义数据类型,与之相关的存储单元由多个类型不同的基本类型存储单元组合而成。当定义一个结构型变量时,就会申请一个这样的存储单元,其中属于它的多个基本类型存储单元都有一个内部的名称,整个存储单元由结构型变量名代表。数组变量虽然也包含了多个存储单元,但实际上通常只使用它表现为基本类型的数组元素。使用结构型变量时多数情况下也是使用其中的某个基本类型存储单元,用结构体成员操作符(.)把结构型变量名和内部的名称结合起来就是相关存储单元的变量名。这样看来,结构型与数组类似,数组变量是多个同类型变量的代表,它包含了多个数组元素,而结构型变量是多个不同类型变量的代表,它包含了多个成员变量。
结构型的作用与数组的不同,结构型变量用于存储程序中属于同一个对象的不同属性的数据。面向对象程序设计语言中的类就是由结构型改进而来。面向对象程序设计语言有C++、Java、C#等,而C语言是典型的结构化程序设计语言。
对于非void型指针变量p,语句p=&p;错误。对于结构型变量s,类似s.next =&s;的语句则可以将多个同类型的结构型变量连接起来串成链表(s.next为变量s的一个成员变量)。链表的作用与数组的类似,将多个数据(变量)组织起来,数据之间有了“次序”,便于用统一的方法进行处理。
联合型变量也包含了多个成员变量,但它们共享存储单元,这就意味着在某个时刻只有一个成员变量是真正可以使用的。有时可以利用一个联合型变量代替多个普通变量以减少程序对存储空间的需求。
枚举型变量只能取定义枚举型时所规定的“标识符”。虽然枚举型本质上是整型,枚举型的“标识符”也只是符号常量,但是,采用枚举型可以极大地提高程序的可读性,同时由于限制了“整型”的取值范围,可以避免程序中用错误的数据给变量赋值,防止出现逻辑错误。
相关文章推荐
- COM组件中使用用户自定义数据类型
- 【Android】使用AIDL传递用户自定义类型数据--附完整示例代码
- C++ 用户自定义数据类型
- Behave用户自定义数据类型
- ViewState和用户自定义数据类型
- 用户自定义数据类型和默认值
- Hadoop(十):简单了解Hadoop数据类型,输入输出格式及用户如何自定义。
- 用户自定义的数据类型
- SqlServer2000中用户自定义数据类型的使用
- 我学Delphi心得及笔记----用户自定义数据类型(第三讲)
- 用户自定义数据类型
- 状态视图与用户自定义数据类型
- Sql Server 用户自定义数据类型方法
- SQL SERVER2000教程-第三章 数据类型 第二节用户自定义类型
- 第四章: 用户自定义数据类型
- COM组件中使用用户自定义数据类型
- Oracle 用户自定义数据类型
- Struts2自定义类型转换器、自定义拦截器和用户输入数据的验证
- HashSet中存方用户自定义数据类型数据,重写equals方法和hashCode方法
- 15、C语言用户自定义数据类型