c语言输入不定长数组
时间: 2023-10-18 09:03:06 浏览: 232
C语言中如何输入不定长数组?
要实现不定长数组的输入,可以借助动态内存分配的函数来实现。首先,需要在程序中使用指针来表示数组,并使用动态内存分配函数来分配内存空间。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int* arr; // 声明一个指针来表示数组
int size; // 用来存储数组的大小
printf("请输入数组的大小:");
scanf("%d", &size);
// 使用malloc函数来分配内存空间
arr = (int*) malloc(size * sizeof(int));
if (arr == NULL) { // 判断内存是否分配成功
printf("内存分配失败!");
return 1; // 返回错误码1,表示程序异常终止
}
printf("请输入数组的元素:");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]); // 逐个输入数组元素
}
printf("数组元素为:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]); // 逐个输出数组元素
}
// 使用free函数释放动态分配的内存空间
free(arr);
return 0; // 返回0,表示程序正常终止
}
```
在上述代码中,首先声明一个指针arr,用来表示数组。然后,使用malloc函数根据用户输入的数组大小动态分配内存空间。在输入数组元素时,使用for循环逐个接收用户的输入。最后,使用for循环逐个输出数组元素,并使用free函数释放动态分配的内存空间。
需要注意的是,在使用完动态分配的内存空间后,一定要使用free函数来释放该空间,以免造成内存泄漏。同时,还应该进行错误处理,判断内存分配是否成功。
阅读全文