- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标识符的含义
标识符的含义
标识符也称为名字,可以指代多种实体:函数、结构标记、联合标记和枚举标记;结构
成员或联合成员;枚举常量;类型定义名;标号以及对象等。对象有时也称为变量,它是一
个存储位置。对它的解释依赖于两个主要属性:存储类和类型。存储类决定了与该标识对象
相关联的存储区域的生存期,类型决定了标识对象中值的含义。名字还具有一个作用域和一
个连接。作用域即程序中可以访问此名字的区域,连接决定另一作用域中的同一个名字是否
指向同一个对象或函数。作用域和连接将在A.11 节中讨论。
A.4.1 存储类
存储类分为两类:自动存储类(automatic)和静态存储类(static)。声明对象时使用的一
些关键字和声明的上下文共同决定了对象的存储类。自动存储类对象对于一个程序块(参见
A.9.3 节)来说是局部的,在退出程序块时该对象将消失。如果没有使用存储类说明符,或者
如果使用了auto限定符,则程序块中的声明生成的都是自动存储类对象。声明为register
的对象也是自动存储类对象,并且将被存储在机器的快速寄存器中(如果可能的话)。
静态对象可以是某个程序块的局部对象,也可以是所有程序块的外部对象。无论是哪一
种情况,在退出和再进入函数或程序块时其值将保持不变。在一个程序块(包括提供函数代
码的程序块)内,静态对象用关键字static 声明。在所有程序块外部声明且与函数定义在
同一级的对象总是静态的。可以通过static 关键字将对象声明为某个特定翻译单元的局部
对象,这种类型的对象将具有内部连接。当省略显式的存储类或通过关键字extern 进行声
明时,对象对整个程序来说是全局可访问的,并且具有外部连接。
A.4.2 基本类型
基本类型包括多种。附录B 中描述的标准头文件limits.h中定义了本地实现中每种
类型的最大值和最小值。附录B给出的数值表示最小的可接受限度。
声明为字符(char)的对象要大到足以存储执行字符集中的任何字符。如果字符集中的
某个字符存储在一个char类型的对象中,则该对象的值等于字符的整型编码值,并且是非负
值。其它类型的对象也可以存储在char类型的变量中,但其取值范围,特别是其值是否带符
号,同具体的实现有关。
以 unsigned char 声明的无符号字符与普通字符占用同样大小的空间,但其值总是非
负的。以signed char显式声明的带符号字符与普通字符也占用同样大小的空间。
说明:本书的第1 版中没有unsigned char 类型,但这种用法很常见。signed char 是新
增加的。
除 char 类型外,还有3 种不同大小的整型类型:short int、int 和long int。普
通int 对象的长度与由宿主机器的体系结构决定的自然长度相同。其它类型的整型可以满足
各种特殊的用途。较长的整数至少要占有与较短整数一样的存储空间;但是具体的实现可以
使得一般整型(int)与短整型(short int)或长整型(long int)具有同样的大小。
除非特别说明,int类型都表示带符号数。
以关键字unsigned 声明的无符号整数遵守算术模2n的规则,其中,n 是表示相应整数
的二进制位数,这样,对无符号数的算术运算永远不会溢出。可以存储在带符号对象中的非
负值的集合是可以存储在相应的无符号对象中的值的子集,并且,这两个集合的重叠部分的
表示是相同的。
单精度浮点数(float)、双精度浮点数(double)和多精度浮点数(long double)
中的任何类型都可能是同义的,但精度从前到后是递增的。
说明:long double是新增加的类型。在第1 版中,long float与double类型等价,但
现在是不相同的。
枚举是一个具有整型值的特殊的类型。与每个枚举相关联的是一个命名常量的集合(参
见A.8.4 节)。枚举类型类似于整型。但是,如果某个特定枚举类型的对象的赋值不是其常量
中的一个,或者赋值不是一个同类型的表达式,则编译器通常会产生警告信息。
因为以上这些类型的对象都可以被解释为数字,所以,可以将它们统称为算术类型。char
类型、各种大小的int类型(无论是否带符号)以及枚举类型都统称为整型类型(integral type)。
类型float、double和long double统称为浮点类型(floating type)。
void类型说明一个值的空集合,它常被用来说明不返回任何值的函数的类型。
A.4.3 派生类型
除基本类型外,我们还可以通过以下几种方法构造派生类型,从概念来讲,这些派生类
型可以有无限多个:
??给定类型对象的数组
??返回给定类型对象的函数
??指向给定类型对象的指针
??包含一系列不同类型对象的结构
??可以包含多个不同类型对象中任意一个
您可能关注的文档
- 曲奇营销策划书.doc
- 曳引与强制驱动电梯第1号修改单.doc
- 曼昆 微观经济学 第一章 经济学的十大原理.ppt
- 曹同军之实战演练.ppt
- 最佳实践:利用Quartz实现任务调度的集群.doc
- 最常用法律法规.doc
- 最全Struts2+Spring3.0+MyBatis3.0平台搭建.doc
- 最全施工组织.doc
- 最新CCNA第一学期第九章答案.doc
- 最新《安全生产许可证申报材料》完全版(超详细).doc
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
文档评论(0)