那么存储数组的最后一个元素的第一个字节的地址是多少

               这个计算最后一个元素的第一个字节的地址算出来是180后面怎么又减去4,  为什么还要减去4

img

因为它算的是元素的起始地址,所以要减去最后一个元素所占的4。
就比如只有2个元素,每个占4,那么第一个是0 ~ 3,第二个是4 ~ 7从4开始,那第二个的起始位置也等于8-4=4

该回答引用ChatGPT
A0:81:51 表示的是一个 9x9 的二维数组,其中每个数组元素占用 4 个字节的存储空间。

如果按行存储数组,那么数组元素 A0:0 的第一个字节的地址是假设的存储器地址。

那么最后一个元素的第一个字节的地址就是 A0:0 加上(9x9-1)个元素的存储空间,即:

A0:0 + (9x9-1)x4 = A0:0 + (81-1)x4 = A0:0 + 316

但是,如果存储数组元素时使用了对齐,即将存储空间对齐到最大存储空间的整数倍,那么地址可能会加上一些额外的字节,因此结果可能会减去一些值。因此,在计算结果时减去 4 可能是为了考虑对齐的影响。