2

我有以下二维数组:

#define ROW 100
#define LINE 50

int a[ROW][LINE];

但是如何获取最后 45 行的 sizeof 数组,a[55][0]例如a[99][99]

我们可以做类似的事情sizeof(&a[55])吗?

4

2 回答 2

7

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

45 * LINE * sizeof a[0][0]

或者,或者,

45 * sizeof a[0]

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

于 2013-06-24T20:29:46.160 回答
1

If you want just the last lines, from line 55 and forward, how about

(ROW - 55) * LINE * sizeof(int)

If you just want a generic N number of lines, then how about

N * LINE * sizeof(int)
于 2013-06-24T20:23:19.000 回答