C中二维数组的大小

use*_*316 2 c arrays sizeof

我有以下二维数组:

#define ROW 100
#define LINE 50

int a[ROW][LINE];
Run Code Online (Sandbox Code Playgroud)

但如何让最后45行的sizeof阵列,例如a[55][0]a[99][99]

我们能做点什么sizeof(&a[55])吗?

AnT*_*AnT 7

sizeof保证数组的数量等于sizeof单个元素的数量乘以元素的数量.因此,如果您想知道特定行数占用了多少内存,只需计算元素数量并乘以元素大小即可.需要45行

45 * LINE * sizeof a[0][0]
Run Code Online (Sandbox Code Playgroud)

或者,或者

45 * sizeof a[0]
Run Code Online (Sandbox Code Playgroud)

这些是否是最后 45行并不重要.所有行都相同.