1,数组
是一个数据的集合,在内存中的体现是一个连续性的内存区域,
2,指针数组
顾名思义, 数组中每一个元素都是指针,指针指向一个地址,地址存放一个变量
指针优先级:() > [] > *
int main()
{
int arr[] = { 100,200,300 };
int *p[3];//指针数组
for (int i = 0; i < 3; i++)
{
p[i] = &arr[i];
}
printf("-------操作后-------\n");
for (int i = 0; i < 3; i++)
{
printf("数组%d\n", *p[i]);
}
system("pause");
return 0;
}
2,数组指针 也称为行指针
定义: int (p)[n]
优先级最高,首先说明p是一个指针,指向一个整型的一维数组,这个数组的长度是n,也可以说是p的步长,也就是说在执行p+1时,p要跨过n个整型数据的长度。
int a[3][4];
int (p)[4]; //该语句定义一个数组指针,指向含四个元素的一维数组。
p = a; //将改二维数组的首地址赋值给p,也就是a[0]或者a[0][0];
p++ ; //该语句执行过后,也就是 p = p+1; p跨过行a[0][]指向a[1][]
![](https://img.haomeiwen.com/i7550924/03d02d313b850825.png)
网友评论