这个不是学了C指针定义的那章就懂了么?
a[1]你打印出来看的话是个内存地址数据啊,类似0x298EA87BB这种。+2就是隔壁的隔壁的内存。理解起来很形象的。
【 在 ludongxing (ludongxing) 的大作中提到: 】
: 标 题: *(*(a+1)+2) 一直不理解是不是应该背诵
: 发信站: 水木社区 (Fri Sep 24 09:34:48 2021), 站内
:
:
: *(a[1]+2), *(*(a+1)+2), a[1][2]
:
: 如果我有一个二维数组int a[9][9],那么以上这三个都表示数组a的第1行第2列元
: 素的值。其中a[1][2]很好理解,按数组的规定,a[1][2]就是第1行第2列的值,这
: 没啥疑惑,这就是定义就是这样规定的。
:
: 但是,前面两个带指针的表达式怎么理解,就强行背诵 *(a[i]+j)和 *(*(a+i)+j)
: 表示第i行第j列的值吗?有没有什么自然而然的办法来说明这样写不是规定,而是推导
: 出来的?
: --
:
: ※ 来源:·水木社区
http://www.mysmth.net·[FROM: 110.255.90.*]
--
FROM 125.35.5.*