C语言-闲聊一维、二维数组

C语言-闲聊一维、二维数组

编码文章call10242025-04-21 22:38:505A+A-


①若a[i]为一维数组

则有,

a[0],为数组的一个元素。

a[i]=*(&a[i]),为数组的一个元素。

a+i=&a[i],为元素a[i]的地址。

*(*(a+i))=*(*&a[i])=*a[i],

*a[i]无意义。

②若a[i]为二维数组

则有,

a[0],为数组的一个列指针。

a[i]=*(&a[i]),为数组的一个列指针。

a+i=&a[i],为数组的一个行指针,也是列指针a[i]的地址。

*(*(a+i))=*(*&a[i])=*a[i],

*a[i],表示第(i+1)行第1列的元素。

③综上所述

(a+i)、a[i]在一维数组和二维数组中的含义不同。

一维数组中

(a+i)表示地址,元素地址,数组名。

a[i]表示元素。

二维数组中

(a+i)表示行指针,列指针地址,元素地址的地址,以一行列指针为元素的数组的数组名(过渡数组名)

a[i]表示列指针。

二维公式复习

行指针:a+i=&&a[i][j]

列指针:*(a+i)+j=a[i]+j=(a+i)[j]=&a[i][j]

元素*(*(a+i)+j)=*(a[i]+j)=*(a+i)[j]=a[i][j]

就这么简单,

你学会了吗?

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4