聚合全网技术文章,根据你的阅读喜好进行个性推荐
开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>
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
为什么会出现这个情况呢?
a[0] 指向"a"这个字符串; *a[0]是"a"这个字符串的第一个字符,相当于a[0][0]
定义 char const a[] ={"a","b","v"} 时,a就是a[0]的地址。C++里面,数组实际上存的是第一个元素的。
数组访问
*a[index] == a[index]
a[0] 指向"a"这个字符串; *a[0]是"a"这个字符串的第一个字符,相当于a[0][0]
定义 char const a[] ={"a","b","v"} 时,a就是a[0]的地址。C++里面,数组实际上存的是第一个元素的。
数组访问
*a[index] == a[index]