C语言数组什么时候不定义长度
时间: 2024-02-13 20:03:52 浏览: 34
在C语言中,数组的长度必须在定义时指定,否则编译器会报错。但是,可以使用动态内存分配函数malloc()来分配内存,从而实现动态数组。例如:
```
int* arr = NULL; // 定义一个指向整型的指针
int len = 10; // 数组长度
arr = (int*)malloc(len * sizeof(int)); // 分配内存空间
```
在这个例子中,通过调用malloc函数,动态分配了一个长度为10的整型数组。由于动态数组的长度是在运行时确定的,因此可以在程序运行时根据需要动态地调整数组的大小。但需要注意的是,使用完动态数组后,需要调用free()函数来释放内存,以避免内存泄漏。