| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1505 人关注过本帖
标题:求助C++关于指针赋值的问题!
取消只看楼主 加入收藏
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
结帖率:95.12%
收藏
已结贴  问题点数:5 回复次数:5 
求助C++关于指针赋值的问题!
char *d,char *s;

while(( *d ++ = *s ++ ) != '\0' )
;


这是书上的原语句,意思是把指针s所指字符赋给目标指针d所指的内容,接着将s和d自增1指向了下一个字符,然后判断是否到达了字符串的结尾





我知道d=s的意思是d指向s,也知道*d==*s(假设相等的情况下可以这样写),但 *d ++ = *s ++ 这样的赋值就不太看得懂了,*是取内容运算符,如果*d++取得的值是2,*s++取得的值3,那么就成了2=3(3赋给2)??

大侠帮忙看看哦,



搜索更多相关主题的帖子: 指针 赋值 
2010-02-02 18:00
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
先谢过了,


*d=*s;//把s的首字符付给d的首字符



这里的*号到底表示什么哦,把s的首字符付给d的首字符应该是d=s啊,为什么还要加*号呢
2010-02-02 18:37
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
谢谢各位,,,这里的*d=*s,是不是可以理解为引用存储单元的意思呢

比如

int i,j, *d,*s;
    d=&i;
    s=&j;
    *d=*s   // 是不是可以理解为i=j,因为*d就等于i,*s等于j
2010-02-03 09:18
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
恩,想要彻底搞懂指针是件不容易的事哈,
2010-02-04 10:00
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
回复 9楼 fyz520
恩,这样理解很不错,谢谢,,,,,



int i=8;
int *pa=&i;

其实这里的*pa就是变量i的引用,pa指向的是i,*pa==8,实际上是*pa-->i-->8,,,所以*pa实际上可以代替变量i,于是可以赋值,像*pa=*a
2010-02-05 14:56
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
回复 9楼 fyz520
说得很详细,谢谢,一看就知道是个高手,佩服啊,,使我对指针有了一个很好的认识,不得不说指针对新手来说实在太难了
2010-02-26 10:04
快速回复:求助C++关于指针赋值的问题!
数据加载中...
 
   



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

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