ISO/IEC 9899:2011 条款6.5.8——关系操作符
6.5.8 关系操作符
语法
1、relational-expression:
shift-expression
relational-expression < shift-expression
relational-expression > shift-expression
relational-expression <= shift-expression
relational-expression >= shift-expression
约束
2、应该遵循下列规则之一:
——两个操作数都具有实数类型;或
——两个操作数都是指向兼容对象类型的限定的或非限定版本的指针。
语义
3、如果两个操作数都具有算术类型,那么会执行通常的算术转换。
4、出于这些操作符的目的,一个指向不是一个数组元素的一个对象的指针行为与带有对象类型的长度为1的一个数组的第一个元素具有相同的元素类型。
5、当两个指针被比较时,结果依赖于对象所指的地址空间中的相对位置。如果两个指向对象类型的指针都指向同一个对象,或者两者都指向同一数组对象的超过最后一个元素,那么它们比较结果是相等的。如果所指向的对象是同一聚合对象的成员,指向在稍后声明的结构体成员的指针比起在结构体中之前所声明的成员要大,并且指向带有更大下标值的数组元素的指针比起同一带有更小下表值的数组元素要更大。所有指向同一联合体对象的成员的指针比较为相等。如果表达式P指向一个数组对象的一个元素,并且该表达式Q指向同一数组对象的最后一个元素,那么指针表达式 Q + 1比Q要大。在所有其它情况下,行为是未定义的。
6、操作符 < (小于),>(大于),<=(小于等于),以及>=(大于等于)中的每一个应该产生结果1,如果所指定的关系为真;为0,如果它为假。[注:表达式 a<b<c不被解释为通常数学中的表示。正如语法做指示的,这意味着(a<b)<c;换句话说,“如果a比b小,则比较1与c;否则,比较0与c。”]结果具有类型int。
ISO/IEC 9899:2011 条款6.5.8——关系操作符的更多相关文章
- ISO/IEC 9899:2011 条款3——术语、定义与符号
3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...
- ISO/IEC 9899:2011 条款5——5.2.1 字符集
5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...
- ISO/IEC 9899:2011 条款6.4.2——标识符
6.4.2 标识符 6.4.2.1 通用 语法 1.identifier: identifier-nodigit identifier identifier-nondigit identifie ...
- ISO/IEC 9899:2011 条款6.4.3——通用字符名
6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...
- ISO/IEC 9899:2011 条款5——5.1.2 执行环境
5.1.2 执行环境 1.定义了两个执行环境:独立式(freestanding)以及宿主的(hosted).在这两种情况下,当一个派定的C函数被执行环境调用时,程序就启动.所有具有静态存储周期的对象应 ...
- ISO/IEC 9899:2011 条款4——标准顺从
4. 标准顺从 1.在本国际标准中,“应该”被解释为对一个实现或一个程序的要求:相反地,“不该”被解释为禁用. 2.如果违反了出现在一个强制规定或运行时强制规定之外的“应该”或“不该”要求,那么该行为 ...
- ISO/IEC 9899:2011 条款6——语言
6 语言 6.1 标记法 1.在本条款中所使用的语法标记法.语义类别(非终结符)用斜体字指示,而字面量单词以及字符集成员(终结符)用粗体字指示.跟在一个非终结符后面的冒号(:)引出其定义.在单独的行中 ...
- ISO/IEC 9899:2011 条款6.3——转换
6.3 转换 1.有些操作符将操作数的值自动地从一种类型转换为另一种.本子条款指定了从这么一个隐式转换所要求的结果,以及从一个投射操作(一个显式转换)所要求的结果.在6.3.1.8中所列出的信息概括了 ...
- ISO/IEC 9899:2011 条款6.5——表达式
6.5 表达式 1.一个表达式是操作符与操作数的一个序列,这些操作符与操作数指定了一个值的计算,或指派一个对象或一个函数,或是生成副作用,或执行上述操作的组合.对一个操作符的操作数的值计算顺序排在对该 ...
随机推荐
- 0023SpringMVC自定义类型转换器
页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性 ...
- npm run build 时的 warning
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit ...
- 什么情况下使用large training data会非常有效
收集大量的数据可能比算法的优劣更重要 Banko和Brill在2001年做了一个研究,是关于在句子中对易混单词进行识别,画出了上图的右边的那个图,这个图显示了对于不同的算法,它们的表现相似,但是随着t ...
- Tomcat默认连接超时时间
秒=1小时 2. 在web.xml中通过参数指定: xml 代码 <session-config> <session-timeout>30</sessio ...
- Dubbbo
什么是Dubbo Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有 ...
- TCPDUMP抓包学习
一.抓包基础 1.抓网卡ens33 的包,有多大抓多大,然后保存到a.cap中 [root@localhost ~]# tcpdump -i ens33 -s -w a.cap tcpdump: li ...
- 结构化异常SEH处理机制详细介绍(一)
结构化异常处理(SEH)是Windows操作系统提供的强大异常处理功能.而Visual C++中的__try{}/__finally{}和__try{}/__except{}结构本质上是对Window ...
- PHP操作数据库(以MySQL为例)
一.开启扩展配置: 在php.ini的extension板块中增加一行extension=php_mysqli.dll 重启PHP,在phpinfo查看 <?php echo phpinfo() ...
- (8)打鸡儿教你Vue.js
监听属性 监听属性 watch 通过 watch 来响应数据的变化 <div id = "app"> <p style = "font-size:25p ...
- (2)Go基本数据类型
Go语言的基本类型有: bool string int.int8.int16.int32.int64 uint.uint8.uint16.uint32.uint64.uintptr byte // u ...