| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1468 人关注过本帖
标题:知道基本了怎么提高?
只看楼主 加入收藏
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
我查书了,也没看到过这种定义方式。
2011-08-06 22:50
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
*str = str[] ?
2011-08-06 22:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
是的,char* str中,str就是指向字符串的指针,这种定义等价于char str[]。

授人以渔,不授人以鱼。
2011-08-06 22:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这种操作没有实际改变字符串str[]的内容,它不过是另外返回一个指向字符串某个位置的指针,宣称字符串从这里开始,但原先的那个字符串仍然存在,它没有任何改动。你指望使用的人,通过函数返回的指针来操作,但事实未必如此,很多时候,原先用str[],他希望的是仍用str[],不是叫他用*str[5]。

现在这个函数干的是什么呢?对字符串str[] = "   Hello,world!",它返回了str[3]的地址,即&str[3],但当我们printf("%s", str)的时候,就会发现什么都没有改变。这不是一个好主意。

[ 本帖最后由 TonyDeng 于 2011-8-7 16:02 编辑 ]

授人以渔,不授人以鱼。
2011-08-06 23:06
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 34楼 TonyDeng
嗯~那个只是移动了指针是吧、
2011-08-07 15:57
快速回复:知道基本了怎么提高?
数据加载中...
 
   



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

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