📅  最后修改于: 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 运算符。