新微赢技术网
标题:
指针问题
[打印本页]
作者:
52巧克力aiq
时间:
2009-11-3 03:29
标题:
指针问题
#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指针数组的,本身地址?
作者:
青松
时间:
2009-11-3 03:29
p是数组p的首地址,就是p[o]的地址,p+i不是p的地址+i,而是p
的地址
[[italic] 本帖最后由 yuzhiyue 于 2007-12-8 15:53 编辑 [/italic]]
作者:
⊿°屵重缺銭
时间:
2009-11-3 03:29
原帖由 [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的地址是多少
作者:
绝爱吗?
时间:
2009-11-3 03:29
这里p你定义的是数组名,不是指针,代表的是数组(p[5])的首地址,p+i带表的是数组首地址向后移i个单位(字符串在类存中占一个字节,移一个字节)。p的地址和AAAAAAAAAA的地址是一样的。p只是AAAAAAAAAA的名字,由于p是数组名,单独使用它可以代表数组首地址。p代表的是地址,而指针变量存的是地址。可以把p直接赋值给指针变量,而不用加&符号。
作者:
小点点14504
时间:
2009-11-3 03:29
p[0]就是p这个数组中第0个元素,由于这是个指针数组,所以p[0]中放的是地址,根据题意应该是第一个字符串"AAAAAAA"在内存中存放区域的起始地址,至于具体地质是多少你不用知道的.也没有必要知道
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2