📜  数组的大小 - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:55:01.067000             🧑  作者: Mango

数组的大小

在 C 编程中,数组是一种存储多个相同类型数据的数据结构。数组的大小指的是数组中元素的个数。

定义数组大小

定义数组时,需要指定数组的大小。例如:

int a[5];  // 定义一个大小为 5 的 int 类型数组
char b[10];  // 定义一个大小为 10 的 char 类型数组

数组大小必须是一个常量表达式,也就是说,在定义数组时必须指定一个常量作为数组大小。例如,下面的代码是错误的:

int n = 5;
int a[n];  // 错误,数组大小必须是常量表达式
访问数组元素

访问数组元素时,需要使用数组下标。数组下标从 0 开始,最大下标为数组大小减一。例如,对于大小为 5 的数组 a,访问第一个元素时应该使用 a[0],访问最后一个元素时应该使用 a[4]。

int a[5] = {1, 2, 3, 4, 5};
printf("%d\n", a[0]);  // 输出第一个元素,即 1
printf("%d\n", a[4]);  // 输出最后一个元素,即 5
动态分配数组空间

在需要动态分配数组空间时,可以使用 malloc 函数。malloc 函数返回一个指向新分配的内存空间的指针。

int n = 5;  // 数组大小
int *a = malloc(sizeof(int) * n);  // 动态分配大小为 n 的 int 类型数组空间
获取数组大小

获取数组大小时,可以使用 sizeof 运算符。sizeof 运算符返回数组所占用的内存空间大小,除以每个元素占用的内存空间大小,就可以得到数组大小。

int a[5];
int n = sizeof(a) / sizeof(int);  // 获取 a 的大小
总结

数组的大小是指数组中元素的个数,数组大小必须是一个常量表达式,访问数组元素时需要使用数组下标,动态分配数组空间时可以使用 malloc 函数,获取数组大小时可以使用 sizeof 运算符。