数组指针与指针数组

来源:互联网 发布:python 库安装 编辑:程序博客网 时间:2024/06/06 21:38
char * a[3];//指针数组,本质是数组,大小为3,每个元素是一个指针
char (*p)[3];//数组指针,本质是指针,指向大小为[3]的数组
char b='b';
char c='c';
char d='d';
char e[3]={'e','e','e'};
a[0]=&b;
a[1]=&c;
a[2]=&d;
printf("%c%c%c\n",*a[0],*a[1],*a[2]);
p=&e;

printf("%s\n",*p);

数组指针的定义

数组名的指针,即数组首元素地址的指针。即是指向数组的指针。
例:int (*p)[10]; p即为指向数组的指针,又称数组指针。


数组指针与指针数组

数组指针是指向数组首元素的地址的指针,其本质为指针;
指针数组是数组元素为指针的数组(例如 int *p[3],定义了p[0],p[1],p[2]三个指针),其本质为数组。
数组指针的使用在某些情况下与指针数组很相似,要注意区别。