6.5.9 相等操作符

语法

1、equality-expression:

relational-expression

equality-expression    ==    relational-expression

equality-expression    !=    relational-expression

约束

2、要遵守下列规则之一:

——两个操作数都具有算术类型;

——两个操作数都是指向兼容类型的限定或非限定版本的指针;

——其中一个操作数是指向一个对象类型的一个指针,而另一个是指向一个限定或非限定版本的void的指针;或者

——一个操作数是一个指针,而另一个是一个空指针常量。

语义

3、==(相等)与!=(不等)操作符类似于关系操作符,除了它们它们具有更低的优先级。[注:因为优先级,a<b == c<d 结果是1,每当a<b和c<d具有相同的布尔值时。]每个操作符产生1,如果指定的关系为真;产生0,如果指定的关系为假。结果具有int类型。对于任一对操作数,恰好其中一个关系为真。

4、如果两个操作数都具有算术类型,那么执行通常的算术转换。当且仅当两个复数的实部与虚部都分别相等,那么复数类型的这两个值相等。任意来自不同类型域的算术类型的两个值相等,当且仅当它们转换到由通常的算术转换所确定的(复数)结果类型的结果相等。

5、否则,至少其中一个操作数是一个指针。如果一个操作数是一个指针,而另一个是一个空指针常量,那么空指针常量被转换为该指针的类型。如果一个操作数是一个指向对象类型的一个指针,且另一个是指向限定的或非限定版本的void的指针,那么前者将被转换为后者的类型。

6、当前仅当两个指针都是空指针,两个指针都是指向同一对象的指针(包括一个指向一个对象的指针而另一个指向一个子对象的起始位置)或指向同一函数,两个指针都是指向同一数组对象超过最后一个元素的指针,那么这两个指针比较为相等。

7、出于对这些操作符的目的,一个指向一个对象的指针,该对象不是一个数组的一个元素,行为与指向长度为1的,将该对象类型作为其元素类型的数组的第一个元素一样。

ISO/IEC 9899:2011 条款6.5.9——相等操作符的更多相关文章

  1. ISO/IEC 9899:2011 条款6.5.17——逗号操作符

    6.5.17 逗号操作符 语法 1.expression: assignment-expression expression    ,    assignment-expression 语义 2.一个 ...

  2. ISO/IEC 9899:2011 条款6.5.16——赋值操作符

    6.5.16 赋值操作符 语法 1.assignment-expression: conditional-expression unary-expression    assignment-opera ...

  3. ISO/IEC 9899:2011 条款6.5.6——加法操作符

    6.5.6 加法操作符 语法 1.additive-expression: multiplication-expression additive-expression    +    multipli ...

  4. ISO/IEC 9899:2011 条款6.5.15——条件操作符

    6.5.15 条件操作符 语法 1.conditional-expression: logical-OR-expression logical-OR-expression    ?    expres ...

  5. ISO/IEC 9899:2011 条款6.5.5——乘法操作符

    6.5.5 乘法操作符 语法 1.multiplicative-expression: cast-expression multiplicative-expression    *    cast-e ...

  6. ISO/IEC 9899:2011 条款6.5.4——投射操作符

    6.5.4 投射操作符 语法 1.cast-expression: unary-expression (    type-name    )    cast-expression 约束 2.除非类型名 ...

  7. ISO/IEC 9899:2011 条款6.5.2——后缀操作符

    6.5.2 后缀操作符 语法 1.postfix-expression: primary-expression postfix-expression    [    expression    ] p ...

  8. ISO/IEC 9899:2011 条款3——术语、定义与符号

    3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...

  9. ISO/IEC 9899:2011 条款5——5.2.1 字符集

    5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...

随机推荐

  1. Flink Streaming基于滚动窗口的事件时间分析

    使用flink-1.9.0进行的测试,在不同的并行度下,Flink对事件时间的处理逻辑不同.包括1.1在并行度为1的本地模式分析和1.2在多并行度的本地模式分析两部分.通过理论结合源码进行验证,得到具 ...

  2. linux系统编程之进程(二)

    今天继续学习进程相关的东东,上节提到了,当fork()之后,子进程复制了父进程当中的大部分数据,其中对于打开的文件,如果父进程打开了,子进程则不需要打开了,是共享的,所以首先先来研究下共享文件这一块的 ...

  3. 《代码敲不队》第九次团队作业:Beta冲刺与验收准备

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 (1)掌握软件测试基础技术(2)学习迭代式增量软件开发过程(Scrum) ...

  4. C#延迟初始化Lazy<T>

    1. 概述 我们创建某一个对象需要很大的消耗,而这个对象在运行过程中又不一定用到,为了避免每次运行都创建该对象,这时候延迟初始化(也叫延迟实例化)就出场了. 延迟初始化出现于.NET 4.0,主要用于 ...

  5. 【DP】 路面修整 usaco 2008 feb_gold

    题目描述: ``` FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了N段 ...

  6. HDU - 4507 - 吉哥系列故事——恨7不成妻(数位DP,数学)

    链接: https://vjudge.net/problem/HDU-4507 题意: 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都 ...

  7. TPC-H简介

    TPC-H是事务处理性能委员会( Transaction ProcessingPerformance Council )制定的基准程序之一,TPC- H 主要目的是评价特定查询的决策支持能力,该基准模 ...

  8. LINQPad 应用

    https://www.linqpad.net/ 使用 LINQPad 调试linq以及lambda表达式 http://www.studyofnet.com/news/1168.html linq ...

  9. admin站点管理

    admin中的显示 class Saltstack_GroupAdmin(admin.ModelAdmin): list_display = ['group_name','salt_minion_id ...

  10. Cogs 876. 游戏(DP)

    游戏 ★ 输入文件:game1.in 输出文件:game1.out 简单对比 时间限制:1 s 内存限制:128 MB USACO/game1 A Game游戏 译 by 肖遥 描述 有如下一个双人游 ...