海量编程文章、技术教程与实战案例

网站首页 > 技术文章 正文

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

yimeika 2025-06-25 20:21:23 技术文章 1 ℃


①若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]

就这么简单,

你学会了吗?

Tags:

最近发表
标签列表