c语言:函数返回字符串
时间: 2024-06-26 18:00:30 浏览: 222
[例]两个字符串的连接。-函数指针与指针函数
在C语言中,函数可以返回字符串,通常使用数组或指向字符数组的指针来实现。有两种主要方法:
1. **静态字符串(char数组)**:
- 你可以定义一个char类型的数组作为函数的结果,例如:
```c
char* get_string() {
static char str[] = "Hello, World!";
return str;
}
```
- 注意这里返回的是数组的首地址,而非完整的字符串副本,所以如果改变数组内容,调用者看到的结果也会改变。
2. **动态字符串(malloc分配)**:
- 使用`malloc`动态分配内存,当不再需要时,记得用`free`释放内存:
```c
char* get_string() {
size_t len = strlen("Hello, World!"); // 获取字符串长度
char* str = (char*)malloc(len + 1); // 增加1字节为终止符'\0'
strcpy(str, "Hello, World!"); // 复制字符串
return str; // 返回字符串指针
}
```
- 在使用完函数返回的字符串后,别忘了调用`free(str)`释放内存。
阅读全文