C语言:术语、定义和符号

来自Peter_Matthew的Wiki

以下定义适用于有关国际标准的部分。其他术语的定义会以斜体类型表示或出现在语法规则的左侧。对于已在国际标准中明确定义的术语,不得推定为暗指其他地方定义的类似术语。对于在国际标准中未定义的术语,应根据ISO/IEC 2382−1进行解释。对于在国际标准中未定义的数学符号,应根据ISO 31−11进行解释。

访问

<执行时的操作>读取或修改一个对象的值

注1:如果只表示这两种操作中的一种,则使用“读取”或“修改”。

注2:“修改”包括存储的新值与先前值相同的情况。

注3:未求值的表达式不会访问对象。

对齐

要求特定类型的对象位于存储边界上,其地址是字节地址的特定倍数

参量

实际参量

实际参数(已废弃)

函数调用表达式中括号内逗号分隔列表中的表达式,或类函数宏调用中括号内逗号分隔列表中的预处理标记序列

行为

外在表现或操作

由实现定义的行为

每个实现都会记录如何作出选择的未指明行为

例:由实现定义的行为的一个例子是,有符号整数右移时高阶位比特的传播。

本地化行为

取决于每个实现所记录的当地国家、文化和语言惯例的行为

例:本地化行为的一个例子是,islower函数是否会为26个小写拉丁字母以外的字符返回true。

未定义行为

在使用非可移植的或错误的程序结构或错误数据时出现的行为,国际标准对此不做要求

注:可能出现的未定义行为包括:完全忽略的情况造成的不可预知的结果;在翻译或程序执行过程中,以记录的方式表现出环境特征(无论是否发出诊断信息);终止翻译或执行(发出诊断信息)。

例:未定义行为的一个例子是,整数溢出时的行为。

未指明行为

国际标准中提供了两种或两种以上的可能性,但对在任何情况下选择哪种可能性不做进一步要求的行为

例:未指明行为的一个例子是,函数参量的求值顺序。

执行环境中的数据存储单元,其大小足以容纳可能具有两个值之一的对象

注:不需要表达对象的每个单独位的地址。

字节

可寻址的数据存储单元,其大小足以容纳执行环境中基本字符集的任何成员

注1:可以唯一地表示对象的每个单独字节的地址。

注2:一个字节由连续的比特序列组成,比特的数量是由实现定义的。最低有效位被称为低阶位,最高有效位被称为高阶位。

字符

<概要>用于组织、控制或表示数据的一组元素的成员

字符

单字节字符

<C语言>适合于一个字节的位表示

多字节字符

一个或多个字符的序列,代表源或执行环境的扩展字符集的成员

注:扩展字符集是基本字符集的超集。

宽字符

适合于一个wchar_t类型对象的位表示,能够表示当前语言中的任何字符

约束

在语法或语义上对解释语言要素的阐述进行的限制

正确舍入的结果

根据有效的舍入模式,取结果格式中最接近无限范围和精度下结果值的表示形式

诊断信息

属于实现的消息输出的一个由实现定义的子集的消息

前向引用

引用在国际标准中此内容的后续子条款,该子条款包含与该子条款相关的附加信息

实现

在特定控制选项下运行于特定翻译环境中的特定软件集,为特定执行环境执行程序翻译并支持功能执行

实现的限制

由实现施加在程序上的限制

对象

执行环境中的数据存储区域,其内容可表示值

当被引用时,对象可被解释为具有特定类型;参见左值、数组和函数命名符

参数

形式参数

形式参量(已废弃)

被声明作为函数声明或定义的一部分的对象,该对象在进入函数时获得一个值,或在类函数宏定义中从紧跟宏名后的括号内的逗号分隔列表中获得一个标识符

推荐做法

强烈建议采用符合标准意图的规范,但对某些实现方案来说可能不切实际

当一个对象被解释为具有特定类型时,其内容的确切含义

由实现定义的值

每个实现都会记录如何作出选择的未指明的值

不确定的值

未指明的值或者陷阱表示

未指明的值

符合相关类型的有效值,但国际标准对在任何情况下选择哪种值不做进一步要求

[math]\displaystyle{ \left \lceil x \right \rceil }[/math]

[math]\displaystyle{ x }[/math]的上整值:最小的大于等于[math]\displaystyle{ x }[/math]的整数

例:[math]\displaystyle{ \left \lceil 2.4 \right \rceil }[/math][math]\displaystyle{ 3 }[/math][math]\displaystyle{ \left \lceil -2.4 \right \rceil }[/math][math]\displaystyle{ -2 }[/math]

[math]\displaystyle{ \left \lfloor x \right \rfloor }[/math]

[math]\displaystyle{ x }[/math]的下整值:最大的小于等于[math]\displaystyle{ x }[/math]的整数

例:[math]\displaystyle{ \left \lfloor 2.4 \right \rfloor }[/math][math]\displaystyle{ 2 }[/math][math]\displaystyle{ \left \lfloor -2.4 \right \rfloor }[/math][math]\displaystyle{ -3 }[/math]