在C语言中,可以使用指针和动态内存分配来定义可变长度数组。下面是一个示例代码:
```c
#include
#include
int main() {
int n; // 可变长度数组的长度
int* arr; // 定义指针
printf("请输入数组的长度:");
scanf("%d", &n);
// 分配内存空间
arr = (int*)malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败");
return 1;
}
// 输入数组元素
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输出数组元素
printf("数组元素为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 释放内存空间
free(arr);
return 0;
}
```
以上代码首先通过scanf函数获取用户输入的数组长度,然后使用malloc函数动态分配内存空间,根据用户输入的长度确定了数组的大小。接着使用循环接收用户输入的数组元素,并逐个存储到数组中。最后,使用循环遍历数组并输出数组元素。在程序结束时,使用free函数释放内存空间。
请注意,在使用完数组后,要记得释放内存空间,以避免内存泄漏。