C语言数组不定义长度
时间: 2023-09-05 20:08:05 浏览: 159
C语言不定长数组及初始化方法
3星 · 编辑精心推荐
在C语言中,数组必须在定义时指定长度,否则编译器会报错。因为在C语言中,数组的长度是数组类型的一部分,编译器需要知道数组的长度才能对其进行正确的内存分配和访问。
如果需要动态分配内存,可以使用malloc函数来实现。例如:
```
int* arr = NULL; // 定义一个指向整型的指针
int len = 10; // 数组长度
arr = (int*)malloc(len * sizeof(int)); // 分配内存空间
```
在这个例子中,通过调用malloc函数,动态分配了一个长度为10的整型数组。由于动态数组的长度是在运行时确定的,因此可以在程序运行时根据需要动态地调整数组的大小。但需要注意的是,使用完动态数组后,需要调用free()函数来释放内存,以避免内存泄漏。
阅读全文