设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1563|回复: 4
打印 上一主题 下一主题

指针问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 03:29:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <iostream>
int main()
{
    using namespace std;
    const char *p[5] =
    {                             
        "AAAAAAAA",
        "BBBBBBBB",
        "CCCCCCCC",
        "DDDDDDDD",
        "EEEEEEEE"
    };
for (int i=0;i<5;++i)
{
  cout << p +i<< " : "<<p[i] <<endl;
  
}
cin.get();
}

有人指告诉我:这里p代表是什么,p[0]代表什么!
如果p指向的是字符串的起始地址,那么怎么得到p指针数组的,本身地址?
2#
发表于 2009-11-3 03:29:50 | 只看该作者
p是数组p的首地址,就是p[o]的地址,p+i不是p的地址+i,而是p的地址

[[italic] 本帖最后由 yuzhiyue 于 2007-12-8 15:53 编辑 [/italic]]
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 03:29:51 | 只看该作者
原帖由 [bold][underline]yuzhiyue[/underline][/bold] 于 2007-12-8 15:52 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1138210&ptid=191154][/url]
p是数组p的首地址,就是p[o]的地址,p+i不是p的地址+i,而是p的地址


我的意思是怎么得到p指针本身的地址,又怎么得到P指向的地址,意思就是说
在这个例子当中,P的地址是多少,AAAAAAA的地址是多少
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 03:29:52 | 只看该作者
这里p你定义的是数组名,不是指针,代表的是数组(p[5])的首地址,p+i带表的是数组首地址向后移i个单位(字符串在类存中占一个字节,移一个字节)。p的地址和AAAAAAAAAA的地址是一样的。p只是AAAAAAAAAA的名字,由于p是数组名,单独使用它可以代表数组首地址。p代表的是地址,而指针变量存的是地址。可以把p直接赋值给指针变量,而不用加&符号。
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 03:29:53 | 只看该作者
p[0]就是p这个数组中第0个元素,由于这是个指针数组,所以p[0]中放的是地址,根据题意应该是第一个字符串"AAAAAAA"在内存中存放区域的起始地址,至于具体地质是多少你不用知道的.也没有必要知道
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 20:38 , Processed in 0.100224 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表