在 C 中,const 变量是否保证在内存中不同?

2023-12-29

说到字符串文字,C99 标准规定 (6.4.5.6):

如果这些数组的元素具有适当的值,则未指定这些数组是否不同。如果程序尝试修改这样的数组,则行为是未定义的。

我找不到类似的警告或对 const 变量的明确保证。可以表达一下&x == &y在上下文中const int x=12; const int y=12;评估为1? const 变量和字符串文字怎么样(即&x == "\014\000\000"保证是0即使在 32 位小端平台上)?

对于它的价值,“字符串文字”部分这篇博文 http://blog.frama-c.com/index.php?post/2011/06/04/Valid-compare-pointers给出问题的背景。


据我所知,标准不允许任何类型的两个命名对象具有相同的地址(联合成员除外)。从 6.5.9/6 开始:

两个指针比较相等当且仅 如果两者都是空指针,则两者都是 指向同一个对象的指针...

字符串文字不是 const 变量,因此您的第二个问题没有实际意义,而且我不明白 32 位和字节序与它有什么关系。

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

在 C 中,const 变量是否保证在内存中不同? 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 如何获取Windows系统中的剩余电池寿命?

    我需要获取 Windows 系统中的剩余电池寿命 我该怎么做 我猜你说的是笔记本电脑 标准 Java SE API 中不存在这样的 API 此信息仅在操作系统平台本机 API 中可用 你至少需要JNI https docs oracle c
  • iOS - 理解 UIPanGesture 上的velocityInView

    我正在使用 UIPanGesture 返回velocityInView 根据我的收集 它应该每秒返回点数 我得到的是数亿的数字和很多零 我不会在模拟器中快速移动鼠标 我认为 预先感谢您提供的任何帮助 建议 编辑 请求的代码 显示 呼叫 vo
  • PHP 数字格式

    我有这个字符串 000000000000100 并需要将其转换为 1 00 所以 规则是 将数字除以 100 并使用逗号作为小数分隔符 去掉前导零 保留两位小数 来自PHP 手册页面number format http php net ma
  • 为什么 std::cout << main << std::endl 打印 1? [复制]

    这个问题在这里已经有答案了 include
  • 添加服务引用和添加 Web 引用?

    我正在尝试添加对网络服务的网络引用 http jira atlassian com rpc soap jirasoapservice v2 wsdl http jira atlassian com rpc soap jirasoapserv
  • Kubectl获取节点返回“服务器没有资源类型“节点””

    我安装了 Kubernetes 并执行了 kubeadm init 并从工作线程加入 但是当我运行 kubectl getnodes 时它给出以下响应 服务器没有资源类型 节点 这里可能有什么问题 在 var log messages 中看
  • Linq to XML 简单从节点语句获取属性

    这是代码片段 XDocument themes XDocument Load HttpContext Current Server MapPath Models Themes xml string result var childType
  • 在给定文本中查找 PHP 中特定文本的模式[重复]

    这个问题在这里已经有答案了 我很难找到特定的对象preg match all图案 我有一条文字 很多数据 但我只想找到一个特定的 就像我有一串文本 sadasdasd website https bitcoin org tatic clou
  • C++:如何在 Windows 的“开始”菜单中创建快捷方式

    我想知道如何获取 Windows 上开始菜单文件夹的路径 然后创建可能包含非 ASCII 字符的路径的快捷方式 这是解决方案 它使用 Qt 但也可以不使用 然后只需使用std wstring代替QString 为了连接路径和文件名 您将不得
  • 确定 SQLite 中查询的执行时间

    我正在创建一个用于分析和生成查询的程序 我很好奇 SQLite 中当前是否存在一种方法 以便我可以查询处理查询所需的时间 我无法以任何方式修改我的安装 因此此方法需要开箱即用 我正在用 python 编写我的工具 尽管我想我可以使用计时器类
  • 如何在Delphis MessageDlg中忽略计时器事件

    我在 Delphi 中设置了一个全局异常处理程序 在某些严重的异常情况下 会显示一条错误消息 后跟 Halt 显示错误消息时 Delphi 正在处理消息队列 处理计时器事件 这会导致进一步的错误 我想要的是显示一个不处理计时器事件的错误对话
  • 在进行一些 python 分析后,Django(?)在处理大型数据集时速度非常慢

    我正在将我的旧 PHP 脚本与更新 更精美的 Django 版本和 PHP 脚本进行比较 完全脱离 HTML 并且所有功能都运行得更快 速度快得多 以至于 Django 肯定出了问题 首先 一些背景信息 我有一个页面可以输出销售数据报告 数
  • html5 如何将一个 SVG 变形或动画为另一个?

    我做了一些搜索 但我不得不承认 我对 SVG 没有任何经验 我见过很多现代库 例如 Raphael PaperJS KineticJS EaselJS 但我不知道什么适合这里的目标 也许甚至 CSS 关键帧也能做到这一点 对于这个问题的指出
  • 使用 Javascript 更改元素的 onfocus 处理程序?

    我有一个表单 其中的默认值描述了应该输入该字段的内容 替换标签 当用户聚焦某个字段时 将调用此函数 function clear input element element value element onfocus null onfocu
  • 在哪里可以找到要使用 LDAP 过滤器搜索的完整属性列表?

    作为我的问题的延伸here https stackoverflow com questions 24649579 searching directoryservices to return a list of modified users
  • Jersey 2 中的自定义 MOXyJsonProvider 不起作用?

    我正在阅读答案Moxy 忽略 json 中的无效字段 https stackoverflow com questions 27658173 moxy ignore invalid fields in json该方法与我想做的事情相匹配 所以
  • Wix Bundle源码路径和项目结构

    我正在尝试创建一个引导程序安装程序 它将安装我的应用程序以及运行我的应用程序所需的第三方应用程序 第三方应用程序是一个 exe 包 其中包含许多补充文件 我的问题是 如何将第三方应用程序包含到我的捆绑包中 我是否也必须添加所有补充文件 10
  • 使用nodejs和redis进行发布订阅(node_redis)

    我正在尝试使用 nodejs 和 node redis 构建一个通用的发布 订阅服务器 该服务器接收来自浏览器的带有通道名称的请求 并响应该通道已发布的任何数据 为此 我使用来自浏览器的长轮询请求 并通过在通道上收到消息时发送响应来处理这些
  • Java:int数组用非零元素初始化

    据 JLS 称 int初始化后数组应立即用零填充 然而 我面临的情况并非如此 这种行为首先出现在 JDK 7u4 中 并且也出现在所有后续更新中 我使用 64 位实现 下面的代码抛出异常 public static void main St
  • 在 C 中,const 变量是否保证在内存中不同?

    说到字符串文字 C99 标准规定 6 4 5 6 如果这些数组的元素具有适当的值 则未指定这些数组是否不同 如果程序尝试修改这样的数组 则行为是未定义的 我找不到类似的警告或对 const 变量的明确保证 可以表达一下 x y在上下文中co