c 语言指针数组
·详解数组指针与指针数组
·数组指针
⼀、区分
⾸先我们需要了解什么是数组指针以及什么是指针数组,如下图:
int *p[5];
int (*p)[5];
数组指针的意思即为通过指针引⽤数组,p 先和*结合,说明了 p 是⼀个指针变量,指
向⼀个⼤⼩为 5 的数组。
所以,int(*p)[5 即为⼀个数组指针。int *p[5]则是⼀个⼤⼩为 5 且存放整型指针的数组。
⼆、数组元素的指针
1.定义
指针变量既然可以指向变量,同样的,也能指向数组元素,因此,数组元素的指针就是数
组元素的地址。
它的写法为:
int *p=arr;
int *p=&a[0];
这边我们需要再次明确,数组名并不代表整个数组,只是代表数组⾸元素的地址,因此上
⾯两个语句是⼀样的。
2.运算
由于指针指向的是⼀个地址,因此数组指针也同样可以进⾏相关运算;例如指针的加减可
以实现指针指向数组上⼀个或者下⼀个元素的功数组指针中进⾏乘法和除法是没有意义的。
如下图所⽰:
评论10