char 指针数组和 int 指针数组之间的区别

2023-12-28

这是一道C题:

我不明白为什么这段代码有效:

char *c[] = {"hello","world"};

但这并没有:

int *v[] = {{1,2},{3,4}};

对我来说,它们是相同的东西(用各自类型初始化的指针数组),但显然它们不是。那么到底有什么区别呢?谢谢。

编辑:如果对我的帖子投反对票的人可以说出为什么这是一个糟糕的问题......那就太好了。


假设您正在谈论 C,则差异是:

  • "hello"定义一个字符数组
  • 数组可以衰减为指针

However:

  • {1,2}没有定义数组ints。它指定一个值列表,可以用作类型字段的初始值设定项int(或敞篷车)。

类似的情况为int将使用复合数组文字:

int *v[] = { (int[]){1,2}, (int[]){3,4} };

复合文字默认为可写(与字符串文字不同),因此您可以v[0][0] = 5;,你不能用char版本。

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

char 指针数组和 int 指针数组之间的区别 的相关文章

  • 按范围迭代数组

    我有一个数组 1 2 3 4 5 6 100 我希望将此数组迭代 5 次 具体来说 取数组的前 5 个数字并获取平均值 继续处理接下来的 5 个数字并获取平均值 依此类推 我尝试过多种方法 例如Dequeue和 for 循环但未能获得所需的
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • 将数组排序为第一个最小值、第一个最大值、第二个最小值、第二个最大值等

    编写一个JS程序 返回一个数组 其中第一个元素是第一个最小值 第二个元素是第一个最大值 依此类推 该程序包含一个函数 该函数接受一个参数 一个数组 该函数根据要求返回数组 输入示例 array 2 4 7 1 3 8 9 预期输出 1 9
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • 当模板类不包含可用的成员函数时,如何在编译时验证模板参数?

    我有以下模板struct template
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检
  • 错误:无效使用不完整类型“类 Move”/未定义对 Move::NONE 的引用

    拜托 我不知道为什么这个简单的代码被拒绝 它给了我 2 个编译错误 请帮帮我 I use 代码 块 20 03 我的编译器是GNU GCC 移动 hpp class Move public Move Move int int public

随机推荐

  • 替换 Javascript 构造函数的 .prototype 而不是添加它是否存在问题?

    我遇到过另一个开发人员的代码 它执行类似的操作来定义 Javascript 类型 function Ninja Ninja prototype swingSword function return true 当更传统的方式是这样的 func
  • 解析 allocator::rebind 调用

    我刚刚学习 C 分配器 我试图理解的目的struct rebind在每个分配器中 例如 在这个程序 https msdn microsoft com en us library 5fk3e8ek aspx include
  • Android 上 AVRCP 的最佳实践(将元数据发送到蓝牙设备)

    我想通过 Android 4 3 设备将元数据发送到蓝牙设备 我遇到的有效解决方案是向 google android music 谷歌音乐应用程序 发送意图 通知它有关元数据的信息 如下所示 通过A2DP AVRCP发送曲目信息 https
  • 为什么不建议在生产中启动单独的 MongoDB 实例作为副本集?

    根据评论中的讨论这个答案 https stackoverflow com a 51239633 330867 kevinadi 建议我提出一个与他的评论相关的新问题 您可以出于开发目的使用一个节点启动一个副本集 请注意 这不是生产环境的推荐
  • 如何使用 Plots.jl 根据 z 中的值对 (x,y) 散点图着色?

    使用 Julia 中的 Plots jl 包 我可以使用各种后端来制作基于两个向量的散点图x and y k 100 x rand k y rand k scatter x y 我无法找到有关如何根据某些长度给它们着色的信息k vector
  • 相当于 Ruby 中的“pass”

    在Python中有一个pass用于定义空函数 条件 循环等的关键字 Ruby 有类似的东西吗 Python 示例 def some function do nothing pass 不 Ruby 中没有这样的东西 如果你想要一个空块 方法
  • 升级到 JSF 2.4

    我正在尝试在 Netbeans 11 0 中从 JSF 2 2 升级到 2 4 I 下载了二进制文件 https mvnrepository com artifact org glassfish javax faces 2 4 0并将其添加
  • 使用 Jquery 设置 ViewBag 中的值

    我只是想问 有没有办法使用jquery动态设置viewbag值 我在我的脚本中尝试这段代码 btn on click function ViewBag Id this attr id 我不知道它是否正确 但是当我尝试运行我的 MVC 3 项
  • 反应路由器重定向与history.push

    我正在读书反应路由器 Redux 示例 https github com ReactTraining react router tree master packages react router redux examples我很困惑 之间有
  • 如何查看 DOM 元素绑定了哪些具体事件?

    我觉得我想经常这样做 但不能 因为我无法了解实际事件 例如 这只是我的一个例子can只需查看 API 即可 我试图了解 stackoverflow 的图像上传器是如何工作的 但是当我调用 0 data events or form acti
  • 函数声明中的尾随 const 或 && [重复]

    这个问题在这里已经有答案了 我正在查看 APIstd optional
  • 保留在 akka 流中是什么意思?

    我正在学习akka流并在代码中遇到Keep left和Keep right implicit val system ActorSystem KafkaProducer implicit val materializer ActorMater
  • React Native - “您当前正在使用 NODE_ENV ===“生产”之外的精简代码”

    我在 React Native 上遇到了这个错误 而不是 ReactJS 所以所有使用 webpack 或 browserify 的解决方案 解决方法都没有帮助 完整错误 您当前正在使用 NODE ENV 生产 之外的精简代码 这意味着您正
  • 将指向自动变量的指针传递给函数是否安全?

    假设我有一个函数声明并初始化两个局部变量 默认情况下它们具有存储持续时间auto 然后 该函数调用第二个函数 并将这两个局部变量的地址传递给该函数 第二个函数可以安全地使用这些指针吗 一个简单的程序示例 用于补充该描述 include
  • .NET Remoting,将对象传递到方法中

    我正在编写一个 NET 远程处理应用程序 我的 dll 服务器和客户端都工作正常 但是 当我尝试更改方法调用以采用对象参数而不是 int 等简单类型时 它会抱怨此错误 类型 System Runtime Remoting ObjRef 及其
  • 在后台执行子进程

    我有一个 python 脚本 它接受输入 将其格式化为调用服务器上另一个脚本的命令 然后使用子进程执行 import sys subprocess thingy sys argv 1 command usr local bin others
  • 从 Android 调用 JavaScript

    我在从 Android 内部调用基本 JavaScript 函数时遇到问题 当我从以下位置克隆存储库时本教程 https www tanelikorri com tutorial android communication between
  • 将请求的响应保存到文件

    我在用着Requests http docs python requests org en latest api 将 PDF 上传到 API 它被存储为下面的 响应 我正在尝试将其写到 Excel 中 import requests fil
  • CSS 模块和多个布局/主题?

    在我的应用程序中 我有多种主题样式 您可以将它们视为不同的 单独的 CSS 样式文件 我想开始使用 CSS 模块 但我什至不知道如何使用import我的第一个文件 让我们假设以下 简单 目录结构 layouts themeA myCompo
  • char 指针数组和 int 指针数组之间的区别

    这是一道C题 我不明白为什么这段代码有效 char c hello world 但这并没有 int v 1 2 3 4 对我来说 它们是相同的东西 用各自类型初始化的指针数组 但显然它们不是 那么到底有什么区别呢 谢谢 编辑 如果对我的帖子