| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 672 人关注过本帖
标题:c指针问题
只看楼主 加入收藏
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
结帖率:94.12%
收藏
已结贴  问题点数:10 回复次数:7 
c指针问题
char *p;p=“good morning”;和char *p;p[30]=“good morning”;有什么区别
搜索更多相关主题的帖子: 指针 
2010-05-30 22:16
dominator
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2009-2-16
收藏
得分:4 
我也是才学习C语言·!我觉得 char *p;p=“good morning”;中“good morning”是一个字符串常量,而这句话的意思是让指针P指向“good morning”的地址空间..而char *p;p[30]=“good morning”;得意思是把“good morning”保存在P[30]嗦申请的空间里面..如果不正确还请指正  谢谢·!
2010-05-30 22:26
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:0 
p[30]是一个字符数组 p0指向“ 以此类推?第一个是不是p指针指向那个字符串数组的首地址?
2010-05-30 22:33
tpengti
Rank: 2
等 级:论坛游民
帖 子:75
专家分:18
注 册:2010-5-9
收藏
得分:2 
第一个是p指针指向那个字符串数组的首地址

没有开发不了的软件,只有开发不了的大脑
2010-05-30 23:17
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:4 
char *p;p=“good morning”;good morning是存放在静态空间中的,该空间一直存在,直到程序结束,只是在作用域上会有所处理
p[30]=“good morning”;这个good morning是放在堆栈上的,一旦函数调用返回,该数组也就没有了
2010-05-30 23:41
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
收藏
得分:0 
十分同意楼上的观点……不过我想问个浅显的问题,如果只定义了char *p,p[30]这个指针数组中的元素变量会被识别吗?需要重新定义指针数组吗?

我很懒,但我讨厌别人说我懒……
2010-05-30 23:51
xiaovs007
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:48
专家分:88
注 册:2010-5-16
收藏
得分:0 
回复 5楼 kingsroot
就不会被识别了,编译时就出错了,地址冲突。
2010-05-31 08:55
liuyunwu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-5-29
收藏
得分:0 
char *p;p=“good morning”;字符串常量通常存放在内存data区中的const区。
p[30]=“good morning”;这个good morning是字符数组,而字符数组是根据其数据存储的特点存放在相应的位置上。如果字符数组是全局变量,就存放在内存的data区中全局或静态 区,如果字符数组是局部变量,就存放在内存的栈区等
2010-05-31 22:00
快速回复:c指针问题
数据加载中...
 
   



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

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