| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 895 人关注过本帖
标题:看看这是怎么回事,
只看楼主 加入收藏
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
以下是引用sdhle在2013-1-5 10:31:40的发言:

这样肯定没问题了。我的意思是我不是吧数组a的首地址付给p了吗,为什么a 却得不到
字符串重新给p赋值了吗?但是字符型的指针p是指向单个字符的,如果我给它赋字符串会不会不安全
2013-01-05 10:35
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
char *p = a;//p指向a
         p = "hell"//此时p不指向a了
p指向其他的地方跟a没关系吧?再说a本来就没有东西


p = "hell"//改为strcpy(p,"hell")
2013-01-05 10:38
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
以下是引用hjywyj在2013-1-5 10:38:47的发言:

char *p = a;//p指向a
         p = "hell"//此时p不指向a了
p指向其他的地方跟a没关系吧?再说a本来就没有东西


p = "hell"//改为strcpy(p,"hell")
支持,执行p="hello"这句是p已经被重新赋值和a已经没有关系了,楼主的a没有初始化,输出的a应该是乱码。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-05 10:49
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
明白了。非常感谢:
做一下总结:
   1、非定义时对一个字符指针直接用字符串赋值时。指针指向字符串的首地址;即重新赋值
   2、定义指针只指明指针类型尚未分配地址(指向不确定)。当用字符串赋值时。计算机会根据字符串的长度申请对应的字节数


2013-01-05 10:51
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
回复 13楼 yaobao
帮忙看看对不对,谢谢了
2013-01-05 11:02
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
回复 12楼 hjywyj
帮忙看一下总结对吗?
2013-01-05 11:13
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
收藏
得分:0 
我可以弱弱的说楼主的总结好深奥啊……这个根本读不懂……不过我知道你什么意思。
呵呵,楼主的总结太拗口了。
2013-01-05 11:16
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
   1、非定义时对一个字符指针直接用字符串赋值时。指针指向字符串的首地址;即重新赋值//貌似什么时候对字符指针用字符赋值都是指向字符串首地址,都是重新赋值
   2、定义指针只指明指针类型尚未分配地址(指向不确定)。当用字符串赋值时。计算机会根据字符串的长度申请对应的字节数
//定义一个指针不管你定义的是什么类型的指针都等于你计算机的位数(32位计算机的指针是4个字节,楼主可以用sizeof(char *p))来亲测下,定义时的类型说明貌似是用来说明指针说指向的地址存放的数据类型(其实我更怀疑是声明该地址内容的解释方式,因为我试过对一个地址里的内容用不同强制转换后输出,得到的结果却是不同的),所以说定义指针时指针自己已经有地址了,用字符串
给指针赋值只是将字符串首字符的地址存入指针里不存在申请内存的行为。


我也是新手,只是凭感觉说,算是抛砖引玉,等大神来吧

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-05 11:21
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
回复 17楼 shmilyflf
。。。。。好吧。意思应该对吧。对就行,表达能力不行啊
2013-01-05 11:21
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
回复 18楼 yaobao
对一个字符指针直接用字符串赋值时。指针指向字符串的首地址;
定义指针时分配存放指针的地址,但其指向不明;用字符串赋值给其,指针指向字符串的首地址,赋值之前先给字符串分配相应地址(似乎可以用赋值语句从右到左执行来解释)
2013-01-05 11:32
快速回复:看看这是怎么回事,
数据加载中...
 
   



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

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