| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 464 人关注过本帖
标题:我这里输出的指针不是应该是数组指针的首地址的值吗?
只看楼主 加入收藏
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
结帖率:55.56%
收藏
已结贴  问题点数:20 回复次数:6 
我这里输出的指针不是应该是数组指针的首地址的值吗?
#include<iostream>
using namespace std;
int main()
{
    int shu[5]={0,1,2,3,4},*p[5];
    for(int a=0;a<=4;a++)
    {
    p[a]=&shu[a];
    cout<<*p<<endl;
    }
    return 0;
}
2012-12-30 22:40
额外覆盖
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:城市猎人
威 望:6
帖 子:1726
专家分:5757
注 册:2012-9-22
收藏
得分:5 
你定义了一个指针数组,并保存了数组shu[5]的每个元素的地址!但你输出是输出的*p,即指针数组首元素地址,而p[0]保存的是shu[0]的地址,所以输出的是数组shu的首元素地址!

我现在所学的一切都是为了游戏!!!为了游戏,加油!加油!努力!
2012-12-30 23:27
cwds
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:23
专家分:134
注 册:2012-6-17
收藏
得分:5 
lz 注意*p[5]是个指针数组,*p实际上是p[0],p[0]是个指针,指向shu[0],而不是值。你想输出其中的值,就要解析出p[0]指向的内容,也就是*(p[0])。
所以不应该是cout << *p << endl;(你运行就会发现5行结果都是一样的,而且是个地址),而应该是:
cout << *(p[a]) << endl;
lz 再好好理解下指针数组与数组指针吧。
2012-12-30 23:28
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:5 
再加个*吧。 指针数组存的是地址

去追寻更高的技术领域。永不停止。
2012-12-31 06:40
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
程序代码:
#include<iostream>
using namespace std;
int main()
{
    int shu[5]={0,1,2,3,4},*p[5];
    for(int a=0;a<=4;a++)
    {
        p[a]=&shu[a];
        cout<<"数组地址:";
        cout<<&shu[a];
        cout<<"       元素索引:";
        cout<<a;
        cout<<endl;
        cout<<"指针数组地址:";
        cout<<&*p[a];
        cout<<"   元素索引:";
        cout<<a;
        cout<<endl;
    }
    return 0;
} 
数组地址:0012FF4C       元素索引:0
指针数组地址:0012FF4C   元素索引:0
数组地址:0012FF50       元素索引:1
指针数组地址:0012FF50   元素索引:1
数组地址:0012FF54       元素索引:2
指针数组地址:0012FF54   元素索引:2
数组地址:0012FF58       元素索引:3
指针数组地址:0012FF58   元素索引:3
数组地址:0012FF5C       元素索引:4
指针数组地址:0012FF5C   元素索引:4

DO IT YOURSELF !
2012-12-31 08:44
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
收藏
得分:0 
回复 3楼 cwds
我就是要看看那样的效果,因为不太懂嘛

2012-12-31 09:16
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
收藏
得分:0 
回复 4楼 StarFall
不用指针就可以就可以输出shu[0]的值了,就直接用*p[0]输出了

2012-12-31 09:22
快速回复:我这里输出的指针不是应该是数组指针的首地址的值吗?
数据加载中...
 
   



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

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