| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 627 人关注过本帖
标题:指针与一维数组
只看楼主 加入收藏
cyuyan793445
Rank: 1
来 自:江门五邑大学
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-1-12
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:12 
指针与一维数组
求解释一下char*str;str="string";与
char str[10];str="string";的区别啦,谢谢。对于字符串赋初值的方式,第二条的表达是不是错的?
2013-01-13 16:30
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
char*str;str="string";
先定义了一个自由指针,指针指向静态存储区“string”的地址,这样的赋值只能读,不能进行其他操作,因为静态区是只读的
char str[10];str="string";是在栈上申请一段连续的空间,将串“string”复制到这个空间中,是复制初始化,可以对串进行读写修改等操作

一家之言 ,谨供参考

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-13 17:17
痴情的猪
Rank: 2
等 级:论坛游民
帖 子:20
专家分:36
注 册:2013-1-12
收藏
得分:0 
学习了

像猪一样痴情!!!但我不是猪!!!
2013-01-13 17:26
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
char str[10];str="string";这样是错误的

总有那身价贱的人给作业贴回复完整的代码
2013-01-13 18:02
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
char str[] = "我爱你";

这样写之所以是正确的 是因为这条语句会被理解为类似如下的代码

char str[7];
strcpy(str, "我爱你");

但只有定义的时候赋初值可以这么写 其他时候是错的
2013-01-13 18:15
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:0 
以下是引用zklhp在2013-1-13 18:15:44的发言:

char str[] = "我爱你";

这样写之所以是正确的 是因为这条语句会被理解为类似如下的代码

char str[7];
strcpy(str, "我爱你");

但只有定义的时候赋初值可以这么写 其他时候是错的
char str[64] = "我也爱你";
数组中填上具体的值也是可以的。我记得分析过以前你写的一段代码。


2013-01-13 18:32
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
以下是引用embed_xuel在2013-1-13 18:02:29的发言:

char str[10];str="string";这样是错误的
反复试验 ,果然是错的,承认错误之后飘过

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-13 19:05
cyuyan793445
Rank: 1
来 自:江门五邑大学
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-1-12
收藏
得分:0 
char str[10];str="string";这样是错误的
为什么是错的?给个解释啦。、please

新手上路,各路大侠多多指教!多谢!
2013-01-13 19:17
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
回复 8楼 cyuyan793445
不够长
2013-01-13 19:25
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:4 
以下是引用cyuyan793445在2013-1-13 19:17:44的发言:
char str[10];str="string";这样是错误的
为什么是错的?给个解释啦。、please[/quote]char str[10]完成后 str作为数组名 是数组首地址 是常量 不能被赋值
该结贴给分啦
2013-01-13 20:55
快速回复:指针与一维数组
数据加载中...
 
   



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

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