社区
C++ 语言
帖子详情
结构体中字符数组初始化的问题?
zjuylok
2008-01-17 02:30:44
struct stype {
char c1[16]
};
struct stype s1;
s1.c1 = "Hello"; //错误
strcpy(s1.c1, "Hello"); //正确
但是, 如果直接在定义的时候, 赋值可以呢?
char c2[16] = "Hello";
...全文
678
7
打赏
收藏
结构体中字符数组初始化的问题?
struct stype { char c1[16] }; struct stype s1; s1.c1 = "Hello"; //错误 strcpy(s1.c1, "Hello"); //正确 但是, 如果直接在定义的时候, 赋值可以呢? char c2[16] = "Hello";
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
noparks
2010-09-23
打赏
举报
回复
為何看不到2樓的回覆
yijianxiangde100
2009-05-07
打赏
举报
回复
学习了。
VTQQTV
2008-01-17
打赏
举报
回复
观点如同2楼
DHD
2008-01-17
打赏
举报
回复
路过
Yaser-Z
2008-01-17
打赏
举报
回复
关注中....
Treazy
2008-01-17
打赏
举报
回复
这个不是在哪里不行的问题
这个是一个概念错误的表现
要明白
char c2[10];//声明一个10元素的数组c2,此时c2的空间已经被分配,c2是这个数组的地址,是一个常量
如果再进行
c2 = "hello";//这样其实就试图改变c2,这是错误的
无论在结构体或者非结体中,这样做都是错误的(不考虑C++的一些特性)
而在结构体或者数组定义的时候,是可以直接对数组或者结构体初始化的,此时声明和定义在一起了(注:声明和定义是不同的!)
如上面的
struct stype {
char c1[16]
}s1 = {"hello"}; //这里不仅给s1分配了空间,还给s1的成员定了初始值
如果还有不清楚,可以查看c99标准!
oo
2008-01-17
打赏
举报
回复
在结构体里不行
结构体
中
数组成员赋值
要给
结构体
赋值,我们需要使用 `memset` 函数来
初始化
结构体
,然后使用赋值语句来设置成员变量的值。例如:`Zhangsan.num = 7;`。但是,对于
字符数组
`name`,我们不能直接使用赋值语句,因为它是一个数组类型。于是...
【C语言编程】
结构体
与数组操作详解:定义、排序及内存管理实践C语言
中
结构
此外,文章还详细解释了一维数组和多维数组的
初始化
、内存布局以及数组指针的概念,并通过示例代码说明了指针数组与数组指针的区别。最后,提供了指针数组查找特定字符串位置及合并排序多个字符串数组的方法。 适合...
必须知道的495个C语言
问题
- 零
初始化
:如何使用 `= 0` 或 `calloc()` 来
初始化
数组或
结构体
。 3. **运算符和表达式**: - 运算符优先级:熟悉不同运算符的优先级,避免混淆。 - 自增自减运算符:`++` 和 `--` 的前缀和后缀形式及其影响。...
C语言精彩编程100例
学习如何声明、
初始化
和操作数组,以及一维数组和多维数组的区别,对于解决实际
问题
至关重要。数组与函数的结合使用,如传数组作为函数参数,也是常见技巧。 指针是C语言的特色之一,它们可以存储内存地址并进行...
The C Programming Language 第二版 英文版
- **1.9
字符数组
**:讲述如何使用
字符数组
来处理字符串。 - **1.10 外部变量与作用域**:解释变量的作用域和链接性,并介绍外部变量。 #### 第2章 类型、运算符和表达式 - **2.1 变量名称**:规范变量命名的规则。...
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章