| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 317 人关注过本帖
标题:关于字符串的问题???
只看楼主 加入收藏
zlnejingling
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-7
结帖率:100%
收藏
 问题点数:0 回复次数:1 
关于字符串的问题???
同样是a数组,char a[10] = “hello”;这种是数组的初始化,和a[0] = ‘h’ a[1] = ‘e’…是一个道理

但是换成char a [10]

然后a = “hello”就不行了 “hello”赋值的值是一个地址,而a虽然也有地址,但是这与指针是不一样的,指针的值是地址,而数组的值虽然也是地址,但是却是一个常量,所以不能给常量赋值。

我实在看不懂上面这段话了,请问为什么char a [10]

a = “hello” 这么赋值就不行。 解释的简单易懂点。。。谢谢各位!
搜索更多相关主题的帖子: hello 字符串 
2014-04-08 14:45
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
收藏
得分:0 
关于这个问题又很多种解释方法:
先搞清这个:char a[10]="hello" 叫初始化;char a[10];a="hellow"叫赋值。a是数组名,是一个地址,可以理解为指针常量,这个地址值是不能变的,只是指向的内容可以变。
然后:C语言规定: 常量只能被初始化,不能被赋值!可以使用strcpy()来将hellow复制到a指针指向的地址上去






[ 本帖最后由 Andrew_Lee 于 2014-4-8 15:26 编辑 ]
2014-04-08 15:24
快速回复:关于字符串的问题???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016315 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved