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

来源:互联网 发布:淘宝达人怎么获得佣金 编辑:程序博客网 时间:2024/04/30 01:01

简介

最近要用到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为数组指针

总结

水平有限,哪里有错请指正。

原创粉丝点击