c++指针数组

亲情的三分 发布于 2017/07/06 16:37
阅读 51
收藏 0
char const * a[] ={"a","b","v"};
//
cout<<a[1]<<endl;
cout<<*a[1]<<endl;

我初始化一个指针常量,这里是一个指针数组,三个指向string的指针,那么a 为数组指针

cout<<a;// a 为内存地址
cout<<a[0]; //输出为a
cout<<*a[0]; //输出为a

为什么会出现这个情况呢?

以下是问题补充:

@亲情的三分:oo。原来如此。我的例子举的不太好,如果每个字符串长一点,这样子就能够清楚的看明白他们的区别了! (2017/07/07 14:26)
加载中
0
H
Hdzi

a[0] 指向"a"这个字符串; *a[0]是"a"这个字符串的第一个字符,相当于a[0][0]

亲情的三分
亲情的三分
多谢!!!
0
_loop
_loop

定义 char const a[] ={"a","b","v"} 时,a就是a[0]的地址。C++里面,数组实际上存的是第一个元素的。

亲情的三分
亲情的三分
多谢!
0
hzh62
hzh62

数组访问

*a[index] == a[index]

亲情的三分
亲情的三分
多谢!!!!!
返回顶部
顶部