C 中 char[] 和 char * 之间的区别[重复]

2023-12-30

C 中 char[] 和 char * 之间有什么区别? 据我所知,两者都创建了 make 's' 指向字符数组的指针。 然而,

char s[] = "hello";
s[3] = 'a';
printf("\n%s\n", s);

prints helao,while

char * s = "hello";
s[3] = 'a';
printf("\n%s\n", s);

给我一个分段错误。为什么会有这样的差异呢? 我在 Ubuntu 12.04 上使用 gcc。


使用时char s[] = "hello";,char数组是在当前函数的作用域中创建的,因此进入函数时在堆栈上分配内存。

使用时char *s = "hello";, s是一个指向常量字符串的指针,编译器将其保存在程序的内存块中,该内存块被阻止写入访问,因此出现分段错误。

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

C 中 char[] 和 char * 之间的区别[重复] 的相关文章

  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • 如何加速 pandas 字符串函数?

    我正在使用 pandas 矢量化 str split 方法来提取从 上的拆分 返回的第一个元素 我还尝试使用 df apply 与 lambda 和 str split 来产生等效的结果 使用 timeit 时 我发现 df apply 的
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 私有模板函数

    我有一堂课 C h class C private template
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • Symfony2 路由 - 路由子域

    有没有办法设置基于主机名的路由Symfony2 我在官方文档中没有找到有关此主题的任何内容 http symfony com doc 2 0 book routing html http symfony com doc 2 0 book r
  • 如何突出显示文本区域中的部分文本

    有没有办法突出显示文本区域中的部分文本 说一下 文字是Hi twitter twitpic现在我想强调 twitter and twitpic仅且不Hi 那可能吗 这必须即时发生 PS 我不想用iFrame 提前致谢 Use setSele
  • JAX-WS servlet 过滤器异常

    我有一个通过 SOAP 进行通信的客户端 服务器应用程序 服务器端应用程序是一个 Java EE 应用程序 它使用 JAX WS 公开 Web 服务 我有一个 Servlet 过滤器设置 用于在调用服务之前执行某些检查 除了异常处理之外 这
  • 使用SAS和mkdir在windows中创建目录结构

    我想在 Windows 中从 SAS 中创建目录结构 最好使用允许我指定 UNC 命名约定的方法 例如 computername downloads x y z 我在网上看到很多使用 DOS 的 SAS 示例mkdir通过调用命令 syse
  • 漏洞? Stargazer 无法使用“省略”选项正确显示固定效应/因子标签?

    当我生成一个表时stargazer并省略固定效应 然后指定omit labels选项 stargazer 版本 5 2 2 每列显示 否 这是一个例子 library stargazer generate example data set
  • ViewPager2/Tabs 的 ViewModel 状态问题

    我遵循 MVVM 模式 这意味着每个片段都有一个 ViewModel I added two使用 ViewPager2 进行选项卡 我的适配器如下所示 Override public Fragment createFragment int
  • 如何在 iOS Simulator 9.1 上启用强制触摸压力

    带有 Xcode 7 1 的新 9 1 模拟器具有模拟 iPhone 6s 6s 等强制触摸的功能 但该选项呈灰色 禁用 iOS 模拟器 gt 硬件 gt 强制触摸压力 已禁用 截图供参考 有人知道如何启用此选项吗 注意 我在 iPhone
  • 使用 printStackTrace() 来处理异常是一个坏主意吗?

    在像这样的 Android 异常中使用 printStackTrace 是一个坏主意吗 catch Exception e e printStackTrace 我相信这就是您所需要的 catch Exception e Log e TAG
  • 如何在 Obj-C 代码中引用环境变量

    我在 Xcode 源代码树中定义了一个名为 MY SRC DIR 的路径变量 我想获取这个环境变量的值并将其放入 obj c 代码中的 NSString 中 例如 NSString getSourceDir return MY SRC DI
  • 在 React 中从数组中删除项目时出现意外行为

    我到处寻找这个问题的答案 但我只需要一些人的帮助 我有一个简单的表单 用户可以在其中添加其他字段 用户还可以删除不再相关的字段 我遇到的问题是删除字段 这些字段是从组件状态中的数组呈现的 但是当我尝试从数组中删除项目时 它始终是数组中的最后
  • 本地开发 Alexa 技能时出现 Dynamo 错误“ConfigError:配置中缺少区域”

    在本地开发和调试 Alexa 技能时使用定制工具 https bespoken tools 连接到 Dynamo 时发生错误 使用Alexa Node js SDK https github com alexa alexa skills k
  • 使用 BPL 加载 Delphi 对象运行时

    我在一个单位上课 通常 当我改变其方法的算法时 我必须重新编译它并整体交付补丁 我想使用 DLL 创建类的实例 在delphi about com搜索后 我发现可以使用BPL代替DLL 它是 Delphi 的 DLL 问题是我发现的几乎所有
  • 如何从图像中提取不同边缘强度的矩形?

    我正在尝试从支票图像中提取帐号 我的逻辑是 我试图找到包含帐号的矩形 对边界矩形进行切片 然后将切片输入 OCR 中以从中获取文本 我面临的问题是 当矩形不是很突出且颜色较浅时 我无法获得矩形轮廓 因为边缘未完全连接 如何克服这个问题 我尝
  • Angular2:HammerJS 滑动 md-tab-group

    我已经实施了HammerJS in my Angular2webapp 我也测试了example https scotch io tutorials using hammerjs touch gesture in angular 2 the
  • Plotly:如何在同一个子图上显示 2 个以上的 x 轴标题/范围?

    我正在使用 Plotly 并使用共享 y 轴和不同的 x 轴制作散点图子图 我尝试使用图形对象 fig layout data index 语法来显示多个堆叠的 x 轴及其各自的范围 我仅通过将 顶部 和 底部 分配给图形布局的侧面属性来成
  • Tomcat 应用程序 Profiler for Eclipse indigo

    我尝试在 eclipse indigo 中安装 TPTP 分析器 但是它不起作用我收到以下错误 Eclipse TPTP 不支持您的平台 综合代理 控制器将被禁用 要在受支持的主机上进行分析 请 在该主机上安装并使用独立代理控制器 我不知道
  • hadoop 在运行我的程序时显示以下消息。这是什么意思?

    我正在运行 hadoop 程序 收到以下消息 这是什么意思 我需要担心这个消息吗 INFO hdfs DFSClient Exception in createBlockOutputStream java io EOFException P
  • 将 Swift Package 添加到自定义框架

    创建具有 SPM 依赖项的框架相当新鲜 因此 我创建了一个新的框架项目 添加了一些类 文件以及 SPM 依赖项 CocoaLumberjack 记录器 框架编译良好 当我寻找我计划嵌入到其他项目中的框架产品时 我看到它位于我的产品文件夹中
  • Jquery:获取带有完整路径的图标

    我想使用 Jquery 从网站获取网站图标的链接 我只是使用 link rel shortcut icon attr href 而且效果很好 但是 我并不总是有一条完整的路径 例如我可以有类似的东西 http mywebsite com m
  • C 中 char[] 和 char * 之间的区别[重复]

    这个问题在这里已经有答案了 C 中 char 和 char 之间有什么区别 据我所知 两者都创建了 make s 指向字符数组的指针 然而 char s hello s 3 a printf n s n s prints helao whi