sizeof('a') 和 sizeof("a") 之间的区别

2023-12-19

我的问题是关于sizeofC 中的运算符

sizeof('a'); equals 4,因为这将需要'a'作为整数:97。

sizeof("a"); equals 2: 为什么?还(int)("a")会给出一些垃圾值。为什么?


'a' is a 字符常数- 类型int在标准 C 中 - 并且代表单个特点. "a"是一种不同的东西:它是字符串字面量,实际上是由two人物:a和一个终止空字符。

字符串文字是一个数组char,有足够的空间来容纳字符串中的每个字符和终止空字符。因为sizeof(char) is 1,并且因为字符串文字是一个数组,sizeof("stringliteral")将返回字符串文字中字符元素的数量包括终止空字符。

That 'a' is an int代替char是标准 C 的一个怪癖,并解释了原因sizeof('a') == 4: 这是因为sizeof('a') == sizeof(int)。这是notC++ 中的情况,其中sizeof('a') == sizeof(char).

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

sizeof('a') 和 sizeof("a") 之间的区别 的相关文章

  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • 添加 Nullable int 时保持 null?

    我想添加可为空的int 并保留null当所有值都是null 我想要这个结果 1 2 3 1 null 1 null null null O null 0 问题是 如果我将一个值与 null 相加 结果为 null int i1 1 int
  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 如何在另一个应用程序中挂钩 api 调用

    我正在尝试挂钩另一个应用程序的 ExtTextOut 和 DrawTextExt GDI 方法调用 我知道我需要使用 GetProcAddress 来查找 gdi32 dll 中那些方法的地址 并用我的函数的地址覆盖我想要挂钩的进程中的地址
  • 在 OnModelCreating 期间设置列名称

    Issue 我目前正在尝试通过设置的属性为我的表及其列添加前缀 我正在使用实体框架核心 我已经正确地为表名添加了前缀 但我似乎无法弄清楚列的前缀 我有一种感觉 我需要使用反射 我已经留下了我的 可能很糟糕的 反思尝试 有人有办法在实体中设置
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 使用 LINQ 更新 IEnumerable 对象的简单方法

    假设我有一个这样的业务对象 class Employee public string name public int id public string desgination public int grade List
  • 引用/指针失效到底是什么?

    我找不到任何定义指针 引用无效在标准中 我问这个问题是因为我刚刚发现 C 11 禁止字符串的写时复制 COW 据我了解 如果应用了 COW 那么p仍然是一个有效的指针并且r以下命令后的有效参考 std string s abc std st
  • 如何使用 NPOI 按地址(A1、A2)获取 Excel 单元格值

    我有一个 Excel 单元格地址 例如 A1 A2 如何使用 C 中的 NPOI 框架以编程方式访问此单元格 我找到的一些 Java POI 示例代码 CellReference cr new CellReference A1 row my
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 使用 GCC 生成可读的程序集?

    我想知道如何使用GCC http en wikipedia org wiki GNU Compiler Collection在我的 C 源文件中转储机器代码的助记符版本 这样我就可以看到我的代码被编译成什么 你可以使用 Java 来做到这一
  • C++ 中 void(*)() 和 void(&)() 之间的区别[重复]

    这个问题在这里已经有答案了 在此示例代码中 func1是类型void int double and funky是类型void int double include
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 使用未分配的局部变量

    我遇到了一个错误 尽管声明了变量 failturetext 和 userName 错误仍然出现 谁能帮帮我吗 Use of Unassigned local variable FailureText Use of Unassigned lo

随机推荐

  • 在sql中以管道分隔的列中搜索值

    我想搜索列中以管道分隔的值 见下文 Column1 1 1 2 23 2 6 6 12 我想在所有行中搜索 2 这样它将返回下面的行 Column1 1 2 23 2 谁能告诉我我们怎样才能实现这一目标 您可以使用like where co
  • 如何更改 Xamarin 表单中的密码屏蔽字符 - 条目

    我目前面临一个相当简单的问题 最终使我陷入了死胡同 我正在构建一个使用 Xamarin Forms 的应用程序 并希望在用户输入密码时将掩码字符从项目符号更改为星号 为了输入密码 我在内容页面的可移植库项目中使用条目控件 在 VS2017
  • C++ STL 中的确定性随机数流

    我想提供一个数字 然后收到一组随机数 但是 我希望这些数字是相同的 无论我在哪台计算机上运行它 假设我提供相同的种子 基本上我的问题是 在 C 中 如果我使用rand 但供应srand 使用用户定义的种子而不是当前时间 我是否能够在任何计算
  • 列表以按间隔返回特定字段的值

    我正在使用大量数据实施 Telerik Chart 图表 x 轴上的标签重叠 我已经克服了这个问题 但从长远来看它并不可靠 这些是列表具有的字段 FieldName DataType Date DATETIME DateString STR
  • 数据流中的近似重复检测

    我目前正在开发一个可以生成大量文本内容的流 API 正如预期的那样 API 给出了大量重复数据 而且我们也有过滤接近重复数据的业务需求 我对数据流中的重复检测做了一些研究 并阅读了 稳定布隆过滤器是用于数据流中重复检测的数据结构 具有误报率
  • makemigrations 未检测到模型中的更改

    我正在使用 django 1 9 6 我最近删除了我的迁移并运行migrate run syncdb and makemigrations my app 今天 我向我的一个模型添加了一个新字段 模型 py value models Posi
  • java - 在 spring mvc 中按名称获取 cookie 值

    我正在开发 java spring mvc 应用程序 我以这种方式在控制器的方法之一中设置了 cookie RequestMapping value news method RequestMethod GET public ModelAnd
  • 更新不可变对象

    我建立了以下课程 class Player val name String val onField Boolean val draft Int val perc Int val height Int val timePlayed Int o
  • iPhone iOS 如何合并Core Data NSManagedObjectContext?

    我正在尝试在后台下载一些 JSON 对象 并且正在执行大量多线程操作 操作完成后 我注意到此断言失败 NSAssert user managedObjectContext isEqual AppUser managedObjectConte
  • Kubernetes ingress 对于特定服务给出 404 错误

    我已经在 Azure 上使用 nginx 入口设置了一个 kubernetes 集群 导航到特定路径时出现 404 错误 我已经设置了一些示例应用程序 它们返回一个简单的回声 效果非常好 我的 ban api 应用程序总是返回 404 错误
  • 按字典顺序打印所有排列

    我想按字典顺序打印字符串的所有排列 我写了这段代码 void permute char a int i int n if i n 1 printf s n a else for int j i j lt n j swap a i a j p
  • 删除 C++ 中无用的文件、包含、全局变量和函数

    我修改了一个包含大量文件和函数的大型 C 项目 问题是 现在有大量无用的文件 包含文件 全局变量和函数 用手去除它们会很痛苦 是否有一种工具可以像编译器一样分析代码并删除所有未使用的内容 我更喜欢unix 的工具 另外 一种仅删除上面提到的
  • 构建函数返回 null 有问题的小部件是:StreamBuilder

    我是 Flutter 新手 我正在尝试完成一件简单的事情 我想使用 BLoC 模式和流创建注册功能 对于用户界面部分我有一个stepper https user images githubusercontent com 16286046 3
  • 以声明方式将宽度分配给可用屏幕宽度的一半

    是否可以将小部件宽度分配为可用屏幕宽度的一半 并使用声明性 xml 来实现 如果您的小部件是一个按钮
  • Selenium RemoteWebdriver 与 python - 性能日志记录?

    我正在尝试从远程 Webdriver 实例获取一些性能日志信息 我正在使用 Python Selenium 绑定 据我看来 这是我应该能够拿回的信息 认为它可能仅适用于 ChromeDriver 我目前正在使用 FireFox 但如果它获得
  • 连接速度非常慢(1 秒)

    我在 Windows 7 上运行 MySQL 5 6 64 位 我正在 32 位 Windows 7 上测试最近从 MySQL 5 0 升级的数据库 我还复制了 my ini 做了一些更改 我发现建立连接需要很长时间 大约 1 秒 作为示例
  • 需要 HTML5 输入 - 如何禁用

    JQuery Validate 拦截所需的属性 例如
  • 在 Angular 应用程序中多次初始化 fullpage.js

    我正在构建一个 Angular 应用程序 它在几个页面中使用 fullpage js 目前 我正在初始化整页 例如 this routes fullpage fullpage options 在模板中为使用它的每个路由使用自定义指令 在每个
  • 使用 Jinja2 模板缩小 Flask 应用程序的 HTML 输出

    是否有 Flask 或 Jinja2 配置标志 扩展可以在渲染模板后自动缩小 HTML 输出 找到了更好的方法来做到这一点 您可以使用此方法缩小所有页面 from flask import Flask from htmlmin main i
  • sizeof('a') 和 sizeof("a") 之间的区别

    我的问题是关于sizeofC 中的运算符 sizeof a equals 4 因为这将需要 a 作为整数 97 sizeof a equals 2 为什么 还 int a 会给出一些垃圾值 为什么 a is a 字符常数 类型int在标准