C语言动态定义char数组长度
时间: 2024-02-04 19:02:55 浏览: 94
C语言中动态数组的定义
4星 · 用户满意度95%
在C语言中,可以使用指针和malloc函数来动态定义char数组的长度。具体实现可以参考以下代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int len = 10; // 假设需要定义长度为10的char数组
char *str = (char*)malloc(sizeof(char) * (len+1));
// 分配内存空间,长度为(len+1),多出的1用于存放字符串结尾的'\0'
if(str == NULL) {
printf("Memory allocation failed!");
return 1;
}
strcpy(str, "Hello, C!"); // 给数组赋值
printf("%s\n", str); // 输出数组内容
free(str); // 释放内存空间
return 0;
}
```
在这个例子中,我们使用malloc函数动态分配了长度为(len+1)的内存空间,并将其强制转换为char型指针。然后,我们可以使用strcpy函数将字符串"Hello, C!"复制到该数组中。最后,我们使用free函数释放了所分配的内存空间,避免内存泄漏。
阅读全文