定义并初始化一个指针数组,输出p[i]不应该是地址量吗,反而输出了指针数组的元素;*p[i]输出的为元素的第一个字符可以理解为指针指向数组的首地址;&p[i]输出的是好像才是地址量,这三个有点分不清楚,是因为指针数组的相关定义不一样吗?
#include <iostream>
using namespace std;
int main()
{
const char *p[5] = { "abc","def","ghi","jkl","mno"};
cout << "初始化输出字符串:" << endl;
for (int i = 0; i < 5; i++)
{
cout << *p[i] << endl;
cout << &p[i] << endl;
cout << p[i] << endl;
}
return 0;
}
初始化输出字符串:
a
00D7FBB0
abc
d
00D7FBB4
def
g
00D7FBB8
ghi
j
00D7FBBC
jkl
m
00D7FBC0
mno