c语言二维数组行列的长度,C#二维数组长度

发布时间:2022-11-25

本文目录一览:

  1. c语言二维数组求长度的问题
  2. c语言中如何获取一个二维数组的行列数?
  3. c语言中一个整数(int)二维数组可以设置最多多少行跟多少列

c语言二维数组求长度的问题

二维数组int a[10][10]由10个一维数组int[10]构成,每个一维数组的长度都是10,总长度是100。

c语言中如何获取一个二维数组的行列数?

有两种方式:

  1. 二维数组的行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的。所以可以直接使用行列数的值。 为方便维护,可以将行列数定义为宏,直接调用对应的宏名作为行列值。
  2. 动态获取。 对于type array[A][B];形式的二维数组,可以通过计算sizeof获取行列数。
    • sizeof(array[0][0])为一个元素占用的空间,
    • sizeof(array[0])为一行元素占用的空间,
    • sizeof(array)为整个数组占用的空间, 于是:
    • 行数 = sizeof(array)/sizeof(array[0]);
    • 列数 = sizeof(array[0])/sizeof(array[0][0]);

c语言中一个整数(int)二维数组可以设置最多多少行跟多少列

理论上没有限制,实际上,计算机有物理内存大小限制,整型数也有最大值的限制。 想开大的数组,可以用动态分配。 定态数组,作为全局量可以开得大。例如:

#include stdio.h
int a[1001][1001]; // 全局量
main() {
    a[1000][1000] = 1000;
    printf("%d", a[1000][1000]);
    return 0;
}

若放到 main(){} 里,就是局部量,就不能用这么多单元了。