我有以下二维数组:
#define ROW 100
#define LINE 50
int a[ROW][LINE];
但如何获取最后45行的sizeof数组,例如a[55][0]
到a[99][99]
?
我们可以做sizeof(&a[55])
吗?
答案 0 :(得分:7)
sizeof
等于单个元素的sizeof
乘以元素的数量。因此,如果您想知道特定行数占用了多少内存,只需计算元素数量并乘以元素大小即可。需要45行
45 * LINE * sizeof a[0][0]
或者
45 * sizeof a[0]
这些最后 45行并不重要。所有行都相同。
答案 1 :(得分:1)
如果您只想要最后一行,从第55行开始,那么
(ROW - 55) * LINE * sizeof(int)
如果您只想要一般N行数,那么
N * LINE * sizeof(int)