C语言

手扶式拖拉机 2018-12-15 03:55:57
在C语言中定义了一个三维字符数组例如: char data[2][6][20]; 如何将字符串赋值给数组呢?比如我想 data[0][0]={"数据已删除!"}; 如何实现呢?请大佬指教。
...全文
186 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2018-12-18
  • 打赏
  • 举报
回复
应该说多维数组是一维数组的数组(的数组。。)
自信男孩 2018-12-18
  • 打赏
  • 举报
回复
strcpy(data[0][0], "xxx");

注意数组越界问题。

字符串赋值除了初始化可以直接赋值,其他情况建议借助字符串处理函数
ooolinux 2018-12-18
  • 打赏
  • 举报
回复
多维数组的最后一维是一个一维数组,比如三维数组char data[3][5][20],data[0][0]就是一维数组了,也是该一维数组的首地址,等于&data[0][0][0]。给这个地址strcpy就可以了。 谭浩强的那本书讲多维数组还是蛮清楚的,可以参考一下。
lin5161678 2018-12-16
  • 打赏
  • 举报
回复
引用 7 楼 qq_41771408 的回复:
为什么不能直接data[0][0]="数据已删除!";呢
data[0][0]是一个数组
类型是 char[20]
数组都不能赋值不是常识么
赵4老师 2018-12-16
  • 打赏
  • 举报
回复
“变量赋值”和“变量初始化”不是一回事! “变量赋值”发生在运行期,其写法遵循赋值语法规定。 “变量初始化”发生在编译期或运行期,其写法遵循初始化列表语法规定。
手扶式拖拉机 2018-12-16
  • 打赏
  • 举报
回复
为什么不能直接data[0][0]="数据已删除!";呢
zhouqunhai 2018-12-16
  • 打赏
  • 举报
回复
strcpy(),不能直接初始化
@风轻云淡_ 2018-12-16
  • 打赏
  • 举报
回复
1、strcpy/strcpy_s
2、sprintf/sprintf_s
3、memcpy/memcpy_s
pqcst 2018-12-16
  • 打赏
  • 举报
回复
1. 使用strcpy() 2. 可以循环拷贝。
MaybeHalt 2018-12-15
  • 打赏
  • 举报
回复
strcpy() 在 string.h 中 如下:

#include <stdio.h>
#include <string.h>

int main(){
    char data[2][6][20];
    strcpy(data[0][0], "数据已删除!");
    puts(data[0][0]);
    return 0;
}
Isnis-fallen 2018-12-15
  • 打赏
  • 举报
回复
定义的时候直接用字符串赋值 注意:不能先定义再给它赋值 可以利用strcpy
636f6c696e 2018-12-15
  • 打赏
  • 举报
回复
strcpy_s

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧