搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 知道基本了怎么提高?
标题:
知道基本了怎么提高?
只看楼主
a9517495424
等 级:
论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
第
31
楼
得分:0
我查书了,也没看到过这种定义方式。
2011-08-06 22:50
a9517495424
等 级:
论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
第
32
楼
得分:0
*str = str[] ?
2011-08-06 22:52
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
33
楼
得分:0
是的,char* str中,str就是指向字符串的指针,这种定义等价于char str[]。
授人以渔,不授人以鱼。
2011-08-06 22:57
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
34
楼
得分: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
等 级:
论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
第
35
楼
得分:0
回复 34楼 TonyDeng
嗯~那个只是移动了指针是吧、
2011-08-07 15:57
35
4/4页
1
2
3
4
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-346794-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.439471 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved