`
dyx1024
  • 浏览: 115323 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

C核心技术手册(十三)

 
阅读更多

第一章 类型

程序必须存储和处理不同种类的数据,如整型和浮点数,编译器需要知道给定的数值所代表的数据类型是什么。

C中,术语对象为内存中的一块位置,它的内容代表值,对象也叫做变量,一个对象的类型决定了此对象在内存在所占有的空间大小和它可能的取值范围。例如:相同模式的比特位可以完全表示不同的整形,这取决于数据对象是否被解释为有符号数。

2.1 类型学

C中的类型可以分为以下几类:

l 基础类型

标准和扩展整数类型

复杂浮点类型

l 枚举类型

l Void类型

l 派生类型

² 指针类型

² 数据类型

² 结构类型

² 联合类型

² 函数类型

基本类型和枚举类型一起组成了算法类型,算法类型和指针类型一起被称做标量类型,最后,数组类型和结构类型构成了全体的类型(联合体因为在任何时间只有一个成员可以存储数据所以不被考虑)。

函数类型描述了一个函数的接口,即,它指定了函数返回值的类型和所有参数的类型;

其他的类型描述对象,这些描述也有可能包含对象存储的空间大小,如果包括,此类型完全可以称做对象类型;如果不包括,它将是一个不完整的类型。下面的数组变量的定义就是一个不完整类型的例子:

extern float fArr[ ]; // External declaration

fArr被声明为一个数据,它的元素类型为float。然而,因为数组的大小这里没有指定,fArr的类型是不完整的,只要全局数组fArr在另一个源文件中被指定大小,这个声明足够可以使你在当前的域内使用此数组。

一些类型由多于一个关键词组成,例如unsigned short, 这种情形下,关键词可以以任意顺序书写,然而,关键词的顺序按惯例有个顺序,我们将在本书中使用。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics