c语言怎么输入不定长度的数组

avatar
作者
筋斗云
阅读量:3

在C语言中,可以通过以下几种方式输入不定长度的数组:

  1. 动态内存分配:使用malloc()函数动态分配内存空间。首先需要确定数组的最大长度,然后根据实际需要使用malloc()函数分配相应的内存空间,最后通过循环结构从键盘读取输入的数据并存储在数组中。

示例代码:

#include <stdio.h> #include <stdlib.h>  int main() {     int* array;  // 声明指针变量     int length, i;      printf("请输入数组长度:");     scanf("%d", &length);      // 动态分配内存空间     array = (int*)malloc(length * sizeof(int));      if (array == NULL) {         printf("内存分配失败!");         return 0;     }      printf("请输入数组元素:");     for (i = 0; i < length; i++) {         scanf("%d", &array[i]);     }      printf("你输入的数组是:");     for (i = 0; i < length; i++) {         printf("%d ", array[i]);     }      free(array);  // 释放内存空间     return 0; } 
  1. 使用可变长度数组(Variable Length Array,VLA):在C99标准及以后的版本中,可以使用可变长度数组来声明不定长度的数组。在声明数组时,可以使用变量作为数组长度。

示例代码:

#include <stdio.h>  int main() {     int length, i;      printf("请输入数组长度:");     scanf("%d", &length);      int array[length];  // 声明可变长度数组      printf("请输入数组元素:");     for (i = 0; i < length; i++) {         scanf("%d", &array[i]);     }      printf("你输入的数组是:");     for (i = 0; i < length; i++) {         printf("%d ", array[i]);     }      return 0; } 

注意:使用可变长度数组时,需要确保数组长度在运行时是合法的。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!