| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 927 人关注过本帖
标题:c++指针问题
只看楼主 加入收藏
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
收藏
得分:0 
#include <iostream>
using namespace std;
void prt(int*x,int *y,int *z)
{   
    cout<<++*x<<","<<++*y<<","<<*(z++)<<endl;
    cout << &z<<endl;
   
   
}
int a=10,b=40,c=20;
void main()
{
    prt(&a,&b,&c);
    cout<<&c<<endl;
    prt(&a,&b,&c);
   cout << &c<<endl;
   
}

11,41,20
0012FEF8
00477DC8
12,42,20
0012FEF8
00477DC8
请六楼解释下Z的地址为什么也没变呢??

无节操,无真相
2013-03-10 16:06
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
收藏
得分:0 
#include <iostream>
using namespace std;
void prt(int*x,int *y,int *z)
{   
    cout<<++*x<<","<<++*y<<","<<*(z++)<<endl;
    cout << &z<<endl;
   
   
}
int a=10,b=40,c=20;
void main()
{
    prt(&a,&b,&c);
    cout<<&c<<endl;
    prt(&a,&b,&c);
   cout << &c<<endl;
   
}

11,41,20
0012FEF8
00477DC8
12,42,20
0012FEF8
00477DC8
请六楼解释下Z的地址为什么也没变呢??

无节操,无真相
2013-03-10 16:07
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
对比一下*(++Z)测试下

www.qunxingw.wang
2013-03-11 09:38
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:0 
回复 9楼 qq372505855
这个问题就不回答你啦,对于++z和z++的区别,你要么翻翻书,要么动手coding测一下,实践出真理。
2013-03-11 12:03
明天更好山鹰
Rank: 2
等 级:论坛游民
威 望:1
帖 子:23
专家分:30
注 册:2013-3-11
收藏
得分:0 
回复 8楼 小菜B
a,b,c变量是全局变量,不是静态变量,从下面程序中的位置就可以看出来,全局变量本身就是静态存储方式,初始值为上一次的最后结果。
#include <iostream>
using namespace std;
void prt(int*x,int *y,int *z)
{   
    cout<<++*x<<","<<++*y<<","<<*(z++)<<endl;
   
}
int a=10,b=40,c=20;
void main()
2013-03-11 21:44
sam031
Rank: 2
等 级:论坛游民
帖 子:12
专家分:14
注 册:2013-2-23
收藏
得分:0 
以下是引用好聚好散在2013-3-10 16:07:07的发言:

#include <iostream>
using namespace std;
void prt(int*x,int *y,int *z)
{   
    cout<<++*x<<","<<++*y<<","<<*(z++)<<endl;
    cout << &z<<endl;
   
   
}
int a=10,b=40,c=20;
void main()
{
    prt(&a,&b,&c);
    cout<<&c<<endl;
    prt(&a,&b,&c);
   cout << &c<<endl;
   
}

11,41,20
0012FEF8
00477DC8
12,42,20
0012FEF8
00477DC8
请六楼解释下Z的地址为什么也没变呢??


z的地址当然没有变,因为你是取的是指针z的地址
z指向的是&c这个地址,但z指针本身也有地址啊,&z当然不变了
2013-03-11 22:30
huang1938120
Rank: 2
等 级:论坛游民
帖 子:51
专家分:41
注 册:2012-10-30
收藏
得分:0 
++i i++ 一向是俺们菜鸟们所要攻克的难题
2013-03-12 18:02
qq372505855
Rank: 2
等 级:论坛游民
帖 子:42
专家分:46
注 册:2012-6-20
收藏
得分:0 
回复 14楼 Pirelo
好吧,谢谢您的回答
2013-03-12 18:59
随着心飞翔
Rank: 1
来 自:江苏南京
等 级:新手上路
帖 子:11
专家分:5
注 册:2012-11-13
收藏
得分:0 
Z的值是地址增加,所以传出来的值不变的
2013-03-12 22:25
a511637694
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-10-30
收藏
得分:0 
加i++就可以了
2013-03-15 11:57
快速回复:c++指针问题
数据加载中...
 
   



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

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