C数组指针的表示中,()、[]、*的优先级

C数组指针的表示中,()、[]、*的优先级,第1张

C数组指针的表示中,()、[]、*的优先级

数组名的指针 *** 作:

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][]
              //所以数组指针也称指向一维数组的指针,亦称行指针。

访问数组中第i行j列的一个元素,有几种 *** 作方式:
*(p[i]+j)、*(*(p+i)+j)、(*(p+i))[j]、p[i][j]。其中,优先级:()>[]>*。这几种 *** 作方式都是合法的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存