c - C 中二维数组的大小

标签 c arrays sizeof

我有以下二维数组:

#define ROW 100
#define LINE 50

int a[ROW][LINE];

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

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

最佳答案

数组的

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

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

或者,或者

45 * sizeof a[0]

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

关于c - C 中二维数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284380/

相关文章:

c - 使用二进制搜索优化大型 if-else 分支

python - 将 python 输出为 python 可读的格式

c - 在能够使用下标符号的同时返回一个 malloc 的矩阵

c - "sizeof"的结果取决于括号的位置。为什么?

struct - Go中的结构体大小

c - 关于二维数组的一些事

c - 简单 I/O 循环调度程序

c - 如何动态获取用户输入并将其存储到整数数组中

java - 如何创建字符串的所有元音组合并将每个组合添加到 ArrayList

c - 使用指针对数组进行链表遍历