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

C语言-闲聊一维、二维数组若 a i 为一维数组则有 a 0 为数组的一个元素 a i amp a i 为数组的一个元素 a i amp a i 为元素 a i 的地址 a i amp a i a i a i 无意义

大家好,欢迎来到IT知识分享网。

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

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

就这么简单,

你学会了吗?

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/186488.html

(0)
上一篇 2025-08-24 11:15
下一篇 2025-08-24 11:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信