指针常量/常量指针&指针数组/数组指针

来源:互联网 发布:淘宝里面最大霸王坑 编辑:程序博客网 时间:2024/05/02 04:34

1、指针常量/常量指针

指针常量:指针本身是常量,它的值(即地址)不可修改,但是可以对它所指向的内容进行修改如:int *const p;

常量指针:指向常量的指针,它所指向的地址中的内容是不可修改的。如const int *p;

另:常量指针常量:指向常量的指针常量,它所指向的地址不可修改,并且地址的内容也不可修改。如const int *const p

2、指针数组/数组指针

指针数组:存放指针的数组,即这个数组中的数据全都是指针。如:int *(p[])

int *p[3];//这里int *p[3] 表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]int a[3][4];for(i=0;i<3;i++)p[i]=a[i];


数组指针:指向数组的指针,如:int (*p)[]

int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0] p++;       //该语句执行过后,也就是p=p+1;p跨过行a[0][]指向了行a[1][]


附:优先级:()>[]>*