指针那些概念

来源:互联网 发布:h5登陆界面源码 编辑:程序博客网 时间:2024/05/16 05:28

1. 指针数组和数组指针

int *p[3],由于[]的优先级高于*,所以是这样结合的:int *(p[3]),这是一个数组,数组元素是指向int型的指针.可以这样赋值:

int a[3][4];int *(p[3]);for(int i=0;i <3; i++) {    p[i] = a[i];}
指针数组的每个元素为指针,指针指向一个一维数组的首元素.


int (*p)[3], 这样则是一个指针,该指针指向一个有3个元素的一维数组,p+1,则是移动了一个一维数组的地址.可以这样赋值:

int a[3][3];int (*p)[3];p = a;

同时也可以用typedef来帮助理解:

数组指针:

typedef int p[3];p *a;

指针数组:

typedef int *p;p a[3];


不定期更新


0 0
原创粉丝点击