关键词不能为空

当前您在: 主页 > 英语 >

标识符的含义

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-03 12:43
tags:

-

2021年3月3日发(作者:空巢家庭)


标识符的含义


标识符也称为名字,可以指代多种实体:函数、结构标记、 联合标记和枚举标记;结构



成员或联合成员;枚举常量;类型 定义名;标号以及对象等。对象有时也称为变量,它是一



个存 储位置。


对它的解释依赖于两个主要属性:


存储类和类型。


存储类决定了与该标识对象



相关联的存储 区域的生存期,


类型决定了标识对象中值的含义。


名字还具有一 个作用域和一



个连接。


作用域即程序 中可以访问此名字的区域,


连接决定另一作用域中的同一个名字是否


指向同一个对象或函数。作用域和连接将在


A.11


节中讨论。



A.4.1


存储类



存储类分为两类:自动存储类 (


automatic


)和静态存储类(


static


)。声明对象时使用的一


些关键字和声明的上下文共同决定了对象的存储类。


自动存储类对象对于一个程序块


(参见



A.9.3


节)来说是局部的,在退出程序块时该对象将消失。如果没有使用存储类说明符,或



如果使用了


auto


限定符,


则程序块中的声明生成的都是自动存储类对象。


声明为


register


的对象也是自动存储类对象 ,并且将被存储在机器的快速寄存器中(如果可能的话)。



静 态对象可以是某个程序块的局部对象,也可以是所有程序块的外部对象。无论是哪一


< /p>


种情况,


在退出和再进入函数或程序块时其值将保持不变。


在一个程序块


(包括提供函数代



码的程序块)内,静态对象用关键字


static

< p>
声明。在所有程序块外部声明且与函数定义




同一级的对象总是静态的。可以通过


static

< p>
关键字将对象声明为某个特定翻译单元的局



< /p>


对象,这种类型的对象将具有内部连接。当省略显式的存储类或通过关键字


extern


进行




明时,对象对整个程序来说是全局可访问的,并且具有外部连接。



A.4.2


基本类型



基本类型包括多种。附录


B


中描述的 标准头文件



中定义了本地实现中每种



类型的最大值和最小值。附录


B


给出的数值表示最小的可接受限度。



声明为字 符(


char


)的对象要大到足以存储执行字符集中的任何字符 。如果字符集中的



某个字符存储在一个


char


类型的对象中,则该对象的值等于字符的整型编码值,并且是非




值。其它类型的对象也可以存储在


char


类型的变量中,但其取值范围,特别是其值是否带

< br>符



号,同具体的实现有关。





unsigned char < /p>


声明的无符号字符与普通字符占用同样大小的空间,但其值总是非



负的。以


signed char


显式 声明的带符号字符与普通字符也占用同样大小的空间。



说明:


本书的第


1


版中没有


unsigned char


类型,但这种用法很常见。


signed char


是新



增加的。





char


类型外,还有


3


种不同大小的整型类型:


short int



int



long int


。普




int


对象的长度与由宿主机器的 体系结构决定的自然长度相同。其它类型的整型可以满




各种特殊的用途。


较长的整数至少要占有与较短整数一样的存储空间 ;


但是具体的实现可以



使得一般整型 (


int


)与短整型(


short int


)或长整型(


long int


)具有同样的大小。



除非特别 说明,


int


类型都表示带符号数。



以关键字


unsigned


声明的无 符号整数遵守算术模


2


n


的规则,其中 ,


n


是表示相应整数



的二进制位数,


这样,


对无符号数的算术运算永远不 会溢出。


可以存储在带符号对象中的非



负值的集合是可以存储在相应的无符号对象中的值的子集,


并且,

这两个集合的重叠部分的



表示是相同的。



单精度浮点数(


float


)、双精度浮点数(


doubl e


)和多精度浮点数(


long double




中的任何类型都可能是同义的,但精度从前到后是递增的。



说明:


long double


是新增加的类型。在第


1


版中,


long float



double


类型等价,但



现在是不相同的。



枚举是一个具有整 型值的特殊的类型。与每个枚举相关联的是一个命名常量的集合(参




A.8.4


节)。枚举类型类似于 整型。但是,如果某个特定枚举类型的对象的赋值不是其常




中的一个,或者赋值不是一个同类型的表达式,则编译器通常会产生警告信息。



因为以上这些类型的对象都可以被解释为数字,所以,可以将它们统称 为算术类型。


char


类型、各种大小的

int


类型(无论是否带符号)以及枚举类型都统称为整型类型(

< br>integral


type


)。



类型


float



double



long double


统称为浮点类型(


floating type


)。



void


类型说明一个值的空集合,它常被用来说明不返回任何值的函数的类型。



A.4.3


派生类型



除基本类型外,我们还可以通过以下几种方法构造派生类型,从概念来讲,这些派生类



型可以有无限多个:



??


给定类型对象的数组



??


返回给定类型对象的函数



??


指向给定类型对象的指针



??


包含一系列不同类型对象的结构



??


可以包含多个不同类型对象中任意一个对象的联合



一般情况下,这些构造对象的方法可以递归使用。



A.4.4


类型限定符


< p>
对象的类型可以通过附加的限定符进行限定。声明为


const

< p>
的对象表明此对象的值不可



以修改;声明为


volatile


的 对象表明它具有与优化相关的特殊属性。限定符既不影响对




取值的范围,也不影响其算术属性。限定符将在


A.8.2


节中讨论。



A.5


对象和左值



对象是一个命名的存储区 域,左值(


lvalue


)是引用某个对象的表达式。具有合适 类型与



存储类的标识符便是左值表达式的一个明显的例子。< /p>


某些运算符可以产生左值。


例如,


如果< /p>


E


是一个指针类型的表达式,


*E


则是一个左值表达式,它引用由


E


指向的对 象。名字“左值”


-


-


-


-


-


-


-


-



本文更新与2021-03-03 12:43,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/700010.html

标识符的含义的相关文章