一.指针数组
指针数组是一个数组,在指针数组中存放的是指针变量。
定义一个指针数组p
int *p[5];
内存模型如下:
指针数组的初始化
#include <stdio.h>
int main(void)
{
int a=1;
int b=2;
int c=3;
int i;
int *p[3] = {&a,&b,&c};
for(i=0;i<3;i++){
printf("%d\n",*p[i]);
}
return 0;
}
运行结果:
二.数组指针
数组指针是一个指针,指向的是数组。
定义一个数组指针P:
int (*P)[5];
内存模型如下:
数组指针的初始化
#include <stdio.h>
int main(void)
{
int a[5]={0,1,2,3,4};
int i;
int (*p)[5] = &a;
for(i=0;i<5;i++){
printf("%d\n",*(*p+i));
}
return 0;
}
运行结果:
三.如何区分
是指针数组还是数组指针看名字的最后俩个字,所以指针数组是数组,数组指针是指针。
四.视频教程
60.数组指针和指针数组_哔哩哔哩_bilibili