数组指针 指针数组
数组指针:一个数组的指针;如下,p指向数组a[]的首地址。
int a[5],*p; p=a;
或者,
int (*p)[5];
例子:
#include<iostream> using namespace std; int main(void) { int a[5]={1,2,3,4,5}; int *p; p=a; for(int i=0;i<5;i++) cout<<"a["<<i+1<<"]="<<p[i]<<endl; return 0; }
输出:

指针数组:是一个数组,数组中的元素是指针类型的数据。也就是说,指针数组中的每个元素都是一个指针变量。例如定义:
int *p[5];
指针数组长用来存储一些长度不同的字符串数据。避免使用二维数组造成空间浪费。如下利用指针数组输出:
#include<iostream> using namespace std; int main(void) { char *book[4]={"Math","English","Physics","Chinese"}; for(int i=0;i<4;i++) cout<<"第["<<i+1<<"]个字符串是:"<<book[i]<<endl; return 0; }
输出:

总结:分清 数组指针 和 指针数组。数组指针式指向一个数组的指针,指针数组是一个数组,每个元素都是指针变量。

浙公网安备 33010602011771号