将字符串分配给字符数组

2024-04-07

我对下面的事情感到有点惊讶。

示例1:

char s[100] = "abcd"; // declare and initialize - WORKS

示例2:

char s[100]; // declare
s = "hello"; // initalize - DOESN'T WORK ('lvalue required' error)

我想知道为什么第二种方法不起作用。这似乎很自然(它适用于其他数据类型)?有人可以向我解释一下这背后的逻辑吗?


初始化数组时,C 允许您用值填充它。所以

char s[100] = "abcd";

基本上是一样的

int s[3] = { 1, 2, 3 };

但它不允许你做作业,因为s是一个数组而不是一个自由指针。的含义

s = "abcd" 

就是给指针赋值abcd to s但你无法改变s从那时起,没有任何东西会指向该数组。
这可以并且确实有效,如果s is a char*- 一个可以指向任何东西的指针。

如果你想复制字符串简单使用strcpy https://www.tutorialspoint.com/c_standard_library/c_function_strcpy.htm.

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

将字符串分配给字符数组 的相关文章

随机推荐

  • Meteor 登录服务未配置

    我正在使用 Meteor loginWithFacebook 来让用户访问我的应用程序 代码是 Meteor loginWithFacebook loginStyle redirect function err if err throw e
  • 简单的倒计时器打字稿

    我的构造函数中有以下代码 constructor for let i 0 i lt 90 i setTimeout gt this counter this counter 1 1000 我真正想要的是显示一个倒计时 90 秒的数字 现在它
  • 如何在 UML 活动图上显示异步操作

    我即将绘制 记录一些客户端 服务器连接建立代码 以更好地理解它 有几个操作是在单独的线程中异步完成的 连接线程 数据接收线程等 我应该在单独的图表上显示它们吗 我更愿意将其放在单个图表上以掌握整体视图 但不知道如何在活动图上表示它 我不确定
  • 如何将本地 html 文件加载到 NativeScript webview 中

    我修改了 webpack config js 以添加一个名为 index html 的本地文件 代码如下 new CopyWebpackPlugin from glob index html from glob fonts from glo
  • AWS Cognito 托管 UI 在 URL 中返回 id_token

    我正在使用 AWS Cognito 的托管 UI 进行用户登录 id 令牌作为 URL 的一部分返回 如中所述https docs aws amazon com cognito latest developerguide cognito u
  • 实体框架中添加的多个实体可能具有相同的主键

    我正在使用 EF 4 0 的项目中工作 The Employee表有一列ReferEmployeeID其中包含在系统中引用新员工的员工的员工 ID 所以Employee是一个自引用表 现在 如果一个未添加到系统中的员工要添加 并且他还引用了
  • 如何抑制命令的错误消息?

    如何抑制 shell 命令的错误消息 例如 如果只有jpg目录中的文件 正在运行ls zip给出错误消息 ls zip ls cannot access zip No such file or directory 是否有一个选项可以抑制此类
  • 根据另一个列表从列表中过滤元素[重复]

    这个问题在这里已经有答案了 我想在Java 8 我有一个Boolean清单和另一个Object列表 这两个列表的大小始终相同 我想从中删除所有元素object列表 其中有false在相应的索引处boolean list 我将尝试用一个例子来
  • WPF datagrid 选定行单击事件?

    我想在双击 WPF DataGrid 的选定行时执行一些代码 我知道数据网格有一个 MouseDoubleClicked 事件 并且它还有一个行选定事件 但我没有看到任何 选定行双击 事件 您认为有可能以某种方式捕捉到这一事件吗 您可以在中
  • ModuleNotFoundError:没有名为“MySQLdb”的模块

    在完成我的一个 Flask 项目后 我像其他人一样将其上传到 github 上 2 3 个月后 我将整个 githube 存储库下载到另一台机器上来运行它 但是 该应用程序无法运行 因为找不到软件包 并显示以下消息 ModuleNotFou
  • 未找到 Hadoop 命令

    我已经在 Linux 机器上安装并配置了 hadoop 现在我正在尝试运行示例 MR 作业 我已经通过命令 usr local hadoop bin start all sh 启动了 hadoop 输出为 namenode running
  • 如何使用 c# excel interop 读取 excel 自定义文档属性

    我正在尝试检查是否已为 Excel 文件设置自定义文档属性 如果设置了则读取该值 这是我正在使用的代码 但到目前为止还没有运气 它不会进入 foreach 循环并出来 var propval ReadDocumentProperty Tes
  • OpenGL:重复使用具有不同参数的相同纹理

    在我的程序中 我有一个纹理 它在不同情况下使用多次 在每种情况下 我都需要应用一组特定的参数 我想避免创建额外的缓冲区 并在每次需要将其用于其他用途时实质上创建纹理的副本 所以我想知道是否有更好的方法 这是什么采样器对象 http www
  • 对“respond_to”与“respond_to”感到困惑吗?

    我正在通过railstutorial org学习Rails 但我对一些事情感到困惑 在本章 http ruby railstutorial org chapters modeling and viewing users two sec pa
  • 使用 cron 表达式流口水规则?

    我有一个要求 我只想在工作日触发规则 我有一些规则 如烟雾 温度 运动 您能否建议我如何根据我的要求制定规则 请给我一些示例 除了 cron 之外 还有其他更好的方法来根据时间触发规则吗 您可以在工作日或周末解雇规则 我也遇到过同样的要求
  • Internet Explorer 11 自动换行不起作用

    似乎自动换行不再适用于 IE 11 中的 textarea 元素 在 IE 10 及更早版本中 FF Safari 和 Chrome 自动换行按预期工作 IE 11 没有实现任何自动换行 我尝试将 wrap hard 添加到textarea
  • 如何检查节点到其后代叶子的所有路径的黑色高度?

    Given a 红黑树 我需要写一个高效算法检查对于每个节点 从该节点到后代叶子的所有路径是否包含相同数量的黑色节点 即如果属性为 true 或 false 则算法应返回布尔值 它将返回 RB 树的黑色高度 如果高度为0 则该树是无效的红黑
  • UIButton 的自定义字体标题

    有没有办法为按钮标题添加自定义字体 The UIButton类暴露了一个标题标签 http developer apple com library ios documentation UIKit Reference UIButton Cla
  • 计算余弦相似度 Spark Dataframe

    我正在使用 Spark Scala 来计算 Dataframe 行之间的余弦相似度 数据帧格式如下 root SKU double nullable true Features vector nullable true 下面的数据框示例 S
  • 将字符串分配给字符数组

    我对下面的事情感到有点惊讶 示例1 char s 100 abcd declare and initialize WORKS 示例2 char s 100 declare s hello initalize DOESN T WORK lva