首先区别清楚指针数组和数组指针的区别
以名字后面的两个字定性:
1.指针数组是一个数组,存贮着指针类型的变量,例如:
int *a[10];
因为[]的优先级大于*,故首先是一个含有10个元素的数组,数组中的元素是指向int类型的指针;
2.数组指针是一个指针,指向的对象是一个数组,例如:
int (*a)[10];
因为()的优先级大于[],故先确定a是一个指针,指向的数据类型是一个含有10个int型数据的数组。
3.指向一维数组中的指针
首先我们先看一个一维数组:
int a[3]={1,2,3};//a是一个数组的名称
cout<<*a<<endl;//对a进行解引用,结果就是数组中第一个元素的值
cout<<a<<endl;//a是数组第一个元素的地址
cout<<a[0]<<endl;//a[0]代表第一个元素
cout<<&a<<endl;//&a是代表取整个数组的地址,整个数组的地址和第一个元素的地址是一样的
cout<<&a[0]<<endl;//对第一个元素取地址
输出如下:
1
0x7ffcf78f5680
1
0x7ffcf78f5680
0x7ffcf78f5680
指针指向的数据类型是一维数组,例如:
int *a;
int p[3] ={1,2,3};
a=

本文详细介绍了C++中一维数组和二维数组与指针的关系,包括指针数组和数组指针的区别。通过实例展示了如何使用指针操作一维和二维数组,帮助理解指针在数组中的应用。

3698

被折叠的 条评论
为什么被折叠?



