首页 > 编程笔记 > C语言笔记

C语言变长数组(不定长数组)的用法

变长数组是 C99 标准引入的一项重要特性,它允许我们在运行时动态确定数组的大小。这一特性为C语言带来了更大的灵活性,使得程序员能够根据实际需求分配内存,而不必在编译时就确定数组的大小。
 

变长数组的基本语法格式如下:

数据类型 数组名[表达式];

其中,表达式是一个整型表达式,用于指定数组的长度。这个表达式可以是变量、常量或者更复杂的计算结果,但必须在运行时能够得到一个确定的正整数值。
 

让我们通过一个简单的例子来说明变长数组的使用:

#include <stdio.h>

int main() {
    int n;
    printf("请输入数组的大小:");
    scanf("%d", &n);

    int arr[n];  // 声明一个大小为 n 的变长数组

    printf("请输入 %d 个整数:\n", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    printf("数组元素为:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

在这个例子中,我们首先让用户输入数组的大小,然后使用这个大小来声明一个变长数组。接着,我们从用户那里读取数组元素,并最后打印出整个数组。这个程序展示了变长数组的灵活性,它可以根据用户的输入来决定数组的大小。
 

变长数组虽然提供了很大的便利,但在使用时也需要注意一些事项:

 

总之,变长数组为C语言带来了更大的灵活性,使得程序员能够更方便地处理大小在运行时才能确定的数组。然而,在使用变长数组时,我们也要注意内存管理和可能的兼容性问题。

相关文章