您的位置:首页 > 编程语言 > C语言/C++

指针数组与数组指针(C++,简单理解)

2017-12-16 16:58 239 查看

简介

最近要用到C++语言,需要用到指针数组,当练习时,有点懵逼,于是写篇博客。

指针数组

指针数组就是一个数组,该数组的元素都是指针,即元素每一个值都是一个地址,用于指向某处。

int * p[5]; // p[i]值为地址0x...,指向某个int值, ==int ** p;
int a = 10;
p[0] = &a;
cout << p[0]; // p[0] = 0x7ffeefbff61c
cout << *p[0]; // *p[0] = 10


数组指针

数组指针就是一个指针,该指针的值是一个地址,指向一个数组的首元素。

int * p = new int[5]; // p[i]值为int值, p为数组指针, new返回地址即返回指针
cout << p[0]; // p[0] = 0;
cout << p; // p = 0x10050d8d0;p的值是一个地址,p是指针。


对比

两者在一定程度上可类似。

int * p[5]; // p为指针数组
int ** p = new int * [5]; // p也为指针数组
int * p = new int [5]; // p为数组指针


总结

水平有限,哪里有错请指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐