📅  最后修改于: 2023-12-03 15:07:52.767000             🧑  作者: Mango
在 C 语言中,数组是一组相同类型的数据元素的集合,使用数组可以在不使用太多变量的情况下存储大量的数据。在 C 中,可以使用变量大小的数组来存储大小在程序运行期间才知道的数据。在本文中,我们将介绍如何在 C 中初始化变量大小的数组。
定义一个变量大小的数组的语法如下:
int variable_size_array[size];
其中,size
是运行时确定的变量,定义了数组的大小。这种类型的数组可以在程序运行时根据需要创建。例如:
int size;
printf("请输入数组大小:");
scanf("%d", &size);
int arr[size];
上面的代码中,用户可以在程序运行时输入数组的大小,然后根据输入的大小创建一个数组。
在 C 中,可以使用以下两种方法初始化变量大小的数组:
使用循环语句初始化数组是一种常见的做法。例如,以下代码将一个变量大小的数组初始化为一个等差数列:
int size, i;
printf("请输入数组大小:");
scanf("%d", &size);
int arr[size];
arr[0] = 1;
for (i = 1; i < size; i++) {
arr[i] = arr[i - 1] + 2;
}
上面的代码中,我们使用 for
循环语句来从数组的第二个元素开始计算等差数列的值,并将其存储到数组中。
使用 memset
函数可以将一个数组初始化为零或某个固定的值。例如,以下代码将一个变量大小的数组初始化为零:
int size;
printf("请输入数组大小:");
scanf("%d", &size);
int arr[size];
memset(arr, 0, sizeof(arr));
上面的代码中,使用 memset
函数将整个数组初始化为零。
下面是一个完整的示例代码,展示了如何定义和初始化一个变量大小的数组,以及如何使用这个数组:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int size, i;
printf("请输入数组大小:");
scanf("%d", &size);
// 定义变量大小的数组
int arr[size];
// 使用循环语句初始化数组为等差数列
arr[0] = 1;
for (i = 1; i < size; i++) {
arr[i] = arr[i - 1] + 2;
}
// 输出数组
printf("数组为:");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 使用 memset 函数初始化数组为零
memset(arr, 0, sizeof(arr));
// 输出数组
printf("数组为:");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
本文介绍了如何在 C 中定义和初始化变量大小的数组。使用这种类型的数组可以在程序运行时根据需要创建数组,并且可以使用循环语句或 memset
函数来初始化数组。如果您使用这种类型的数组,请注意数组的大小不要超过系统可用内存。