三个问题:NULL - NULL 定义了吗?是否已定义 (uintptr_t)NULL - (uintptr_t)NULL? [复制]

2024-02-08

  1. Is NULL - NULL定义。?

  2. Is (char *)NULL - (char *)NULL定义。?

  3. Is (uintptr_t)NULL - (uintptr_t)NULL定义?

我知道它适用于我使用的所有实现。但从标准的角度来看,它是什么样子的呢?我找不到明确的答案。

编辑: 从骗子看来,我认为问题的一个答案是:是的。

那么第二个问题和第三个问题呢?


C 标准文档NULL被定义为宏它扩展为实现定义的空指针常量

根据实际定义,表达式NULL - NULL可能有或没有定义值。例如:

  • if NULL定义为#define NULL 0, then NULL - NULL实际上是类型的常量表达式int值为0.
  • if NULL定义为#define NULL ((void *)0), 表达方式NULL是一个约束违规,因为算术没有在 void 指针上定义。

第二个问题:are (char*)NULL - (char*)NULL or (uintptr_t)NULL - (uintptr_t)NULL定义?。这些表达式不再违反约束:

  • 由于转换自void *对于算术类型是实现定义的,对于其值无话可说(uintptr_t)NULL - (uintptr_t)NULL。这将是0在大多数当前系统上,但 C 标准没有定义它。

  • 转换为(char *)情况略有不同:只有当两个指针指向同一个数组或指向数组最后一个元素之后的位置时,才定义两个指针的差异,在本次讨论中,对象被视为包含一个元素的数组。情况并非如此(char *)NULL,它是一个空指针,因此不指向任何数组或对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三个问题:NULL - NULL 定义了吗?是否已定义 (uintptr_t)NULL - (uintptr_t)NULL? [复制] 的相关文章

  • 在哪里使用 EF6 订阅 ObjectMaterialized?

    我正在尝试将我的上下文订阅到以下 OnjectMaterialized 事件this https stackoverflow com a 3756842 2835713 像这样 IObjectContextAdapter this Obje
  • MVC 中的 Blazor:组件被渲染,但 @onclick 不起作用。连接问题

    我正在尝试在 net core 3 MVC 项目中使用 Blazor 我使用了一些教程来做到这一点 例如https fizzylogic nl 2019 08 18 integrating blazor in an existing asp
  • Windows CE 6.0 和运行时链接到调试 DLL /MDd

    我在 x86 PC 上使用 Windows CE 6 0 R3 我已经为该平台构建了 NK bin 和 SDK 但我有一些问题需要了解如何使用 MTd 调试 DLL 构建控制台应用程序 如果我尝试构建这个 main c with MDd i
  • 我可以将特定警告视为错误吗?

    以下是我有时在学生代码中看到的模式的简化版本 bool foobar int a int b if a lt b return true 当然 真正的代码要复杂得多 Visual Studio 报告警告 C4715 并非所有控制路径都会返回
  • 是否可以获取指向装箱非托管值类型的指针?

    是否可以获取指向装箱非托管值类型的指针 而无需编写对每个支持的类型进行强制转换的大型 switch 语句 就像是 object val Contains a boxed unmanaged value such as int long by
  • 为什么 .Net 框架指南建议您不要使用 ref/out 参数?

    显然 他们很 混乱 这是认真的原因吗 你还能想到其他的吗 你见过有多少开发人员并不真正理解 ref out 吗 我在真正需要的地方使用它们 但在其他地方则不然 它们通常仅在您想有效返回两个或多个值时才有用 在这种情况下它至少值得thinki
  • 如何实现可变虚拟成员函数

    所以我有这个功能 virtual void CallRemoteFunction const char pServerGameObjectId const char pFunctionName OVariant arg1 OVariant
  • 二维数组的列求和

    我有一个IEnumerable
  • 本地主机和 request.Url.Authority

    我的应用程序通过 URL 中的公司标识符分隔用户 company1 app com company2 app com 我正在本地 PC 上进行测试 请求如下 company1 localhost com 但是 我的 request Url
  • 在 OpenGL 中使用不同的着色器程序?

    我必须在 OpenGL 中针对不同的对象使用两个不同的着色器程序 我发现我必须使用glUseProgram 在不同的着色器程序之间切换 但对此没有太多信息 鉴于我有两个用于不同对象的不同着色器程序 如何为每个着色器程序生成和绑定 VAO 和
  • 不可能的事情发生了!这是什么意思?

    我遇到了一个有趣的运行时错误 我认为这是某种内存泄漏 我写了以下程序 C Code include
  • 如何在Phone类库项目中添加ResourceDictionary并访问它

    我正在开发一个项目 其中我有一个引用图书馆项目的子项目 在我的库项目 电话类库 中 如何创建 ResourceDictionary xaml 其中我需要添加一些样式并在 xaml 文件和 cs 文件中使用它 我需要访问 xaml 文件中的
  • 为什么 C++20 范围不只提供管道语法?

    我知道这个问题听起来很奇怪 所以这里有一些背景信息 最近 我很失望地了解到 C 20 范围内的映射缩减并不像人们所期望的那样工作 即 const double val data transform accumulate 不起作用 你必须这样
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • 函数中的重复参数检查

    我经常有调用层次结构 因为所有方法都需要相同的参数 如果我不想将它们放在实例级别 类的成员 那么我总是问我在每个方法中检查它们的有效性是否有意义 例如 public void MethodA object o if null o throw
  • 如何明智地解释这个编译器警告?

    当我执行这段代码时question https stackoverflow com a 51056490 2411320 我收到这个警告 warning format d expects argument of type int but a
  • 将华氏温度转换为摄氏度的 C 程序始终打印零

    我需要一些关于用 C 语言将华氏温度转换为摄氏度的程序的帮助 我的代码如下所示 include
  • 使用 Node.js 访问用 C++ 编写的 SDK

    我有一个用 C 语言编写的 SDK 可以与我的扫描仪设备进行通信 我需要开发一个可以访问扫描仪设备的电子应用程序 我知道有很多库可用于扫描仪 但我想使用这个 SDK 因为它允许我访问设备的完整功能 而且它是由设备制造商提供的 那么 有没有什
  • 如何在您的网站中连接两个人

    有一款名为 Verbosity 的游戏 这是一款有目的的游戏 位于此链接上www gwap com 在游戏中 他们随机连接两个玩家互相玩 游戏是玩家1应该向他的搭档 玩家2 描述一个单词 而玩家2应该猜测这个单词 我正在尝试建立一个网站来执
  • 清理 TPL 中的 CallContext

    根据我使用的是基于 async await 的代码还是基于 TPL 的代码 我在逻辑清理方面得到了两种不同的行为CallContext 我可以设置和清除逻辑CallContext如果我使用以下异步 等待代码 正如我所期望的 class Pr

随机推荐

  • 使用 jQuery 防止第二个按钮单击

    我的页面上有一个按钮 如果用户第二次单击该按钮 我不想执行任何操作 我有以下代码 但它不起作用 有人可以帮忙吗 myButton click function var count 0 count alert button if count
  • C 有跨平台文件 IO/路径 util 库吗?

    是否有一些 C 库可以实现与平台无关的路径操作版本 我想到的一些例子 从相对路径获取绝对路径 不需要文件存在 确保目录存在 创建一个文件 如果不存在 以及给定路径中缺少的任何目录 连接路径 获取路径的目录部分 获取路径的文件名部分 还有很多
  • 如何在 Octave 中声明符号矩阵?

    在 MatLab 中 您可以非常轻松地声明符号 syms a b mat a b 但是 当我尝试在 Octave 中复制此内容时 出现错误 这是我正在使用的代码 gt symbols gt a sym a a a gt b sym b b
  • 如何强制 Instagram 在 Safari 而不是应用内浏览器中打开链接

    Instagram 添加了一个应用内浏览器 打开链接时会自动使用该浏览器 我的网站需要在普通浏览器中打开 例如 Safari 适用于 iPhone 我试图弄清楚如何强制它重定向到正确的浏览器 如果通过 Instagram 浏览器打开此链接
  • RxJava/RxAndroid 检查互联网连接是否可用

    我有这个代码来检查互联网连接是否可用 public static boolean isOnline Runtime runtime Runtime getRuntime try Process ipProcess runtime exec
  • Pytest 可以在预先安排的时间运行吗?

    我正在使用 pytest 使用 python3 脚本运行我的测试 如下所示 pytest s test file py tee a myoutput log 有用 现在我想在每天的特定时间运行它 我尝试从 Linux 控制台 crontab
  • 类型错误:无法将序列乘以 float 类型的非 int

    我试图把float and int在我的编码中 但它仍然说 不能将序列乘以非 int 类型float PV input investment amout r float input rate n int input year FV cont
  • Gradle:找不到提供的方法()

    这是首选 https virgo47 wordpress com 2015 05 13 why gradle doesnt provide provided provided or provided group这是哪里有记录的 https
  • 如何更改文本区域中的字体颜色

    现在我有一个文本区域 可以从字符串中获取文本 我将文本区域的背景颜色设置为黑色 但是默认文本颜色为黑色 因此在突出显示它之前您看不到它 我似乎无法找到将字体颜色更改为白色的方法 CSS 有没有一种简单的方法可以做到这一点 html div
  • XPC 在工作区中的两个可可应用程序之间,NSXPCConnection 立即失效

    我有两个 Cocoa 应用程序 一个将成为此 XPC 关系中的发送者 另一个将成为接收者 In the applicationDidFinishLaunching在发送方中 我首先打开第二个接收方应用程序 NSError error nil
  • Android 在 Fling 上获取 Mapview 停止动画

    我需要限制用户可以在地图视图中导航到的区域 除非他们会看到空白屏幕 我创建了一个扩展地图视图并覆盖 onTouchEvent 的类 我正在检测 ACTION UP 操作并检查此处的坐标 并在必要时重新定位地图 一切正常 直到用户 扔 地图
  • 如何将功能区按钮连接到 Excel 加载项中定义的函数?

    我正在使用 MSVS 2013 创建 C MS Excel 加载项 在以前的外接程序范例中 功能区类设计器直接将功能区按钮单击事件连接到外接程序应用程序类中的功能 现在功能区功能在功能区类本身中定义 从单独的功能区控件类访问 ThisAdd
  • 当客户端和服务器位于同一台计算机上时,Kerberos 身份验证不运行

    当尝试从运行 jboss 服务器的同一台计算机访问应用程序时 出现以下错误 org springframework security authentication BadCredentialsException Kerberos valid
  • htaccess 301 重定向整个网站,但有例外

    我正在尝试创建一个 htaccess 文件来重定向我的整个网站 除了一些例外 但我无法让它工作 我需要重定向整个内容 提供特定的重定向 并排除两个页面 以下是我的非工作示例 谢谢 RewriteCond REQUEST URI events
  • 在 PyCharm 中运行 odoo 项目

    让我的脚接触 PyCharm 我有一个项目 它是 Odoo 14 模块 PyCharm 已为我的项目建立索引 它指示错误 警告和拼写错误 好的 现在我想运行我的 Odoo 来看看我的项目做了什么 我假设我应该通过 GUI 中的某个按钮来执行
  • 使用 Xcode 调试 Maya 插件

    我正在尝试使用 Xcode 4 6 3 调试功能调试为 Maya 2013 构建的 Maya 插件 我希望能够设置断点并通过插件进行跟踪 但我无法设置 Xcode 进行 Maya 调试 在 编辑方案 部分中 我将可执行文件设置为 Maya
  • 通过减小实体大小来提高 App Engine 性能

    目的是减少经常运行且每次必须 db get 数百个键的代码的 CPU 成本和响应时间 这还管用吗 我可以预期具有数百个键的 db get 的 API 时间吗 当我减小实体的大小时大致线性地减小 目前该实体附加了以下数据 9 String 9
  • Yii 按日期从 到 条件搜索表单

    我尝试创建搜索表单来按日期 从 到条件列出数据库中的数据 我是 Yii 初学者 我的任务是 我有型号 public from date public to date Rules public function rules return ar
  • 用于传递和调用方法引用的 Lambda 语法

    是什么用于传递和调用方法引用的 Lambda 语法 场景 根据值构建对象 单选按钮 Enum http docs oracle com javase tutorial java javaOO enum html 我传递了枚举值的集合 我希望
  • 三个问题:NULL - NULL 定义了吗?是否已定义 (uintptr_t)NULL - (uintptr_t)NULL? [复制]

    这个问题在这里已经有答案了 Is NULL NULL定义 Is char NULL char NULL定义 Is uintptr t NULL uintptr t NULL定义 我知道它适用于我使用的所有实现 但从标准的角度来看 它是什么样