c语言写一函数,将两个字符串连接
时间: 2025-02-12 13:27:40 浏览: 39
在C语言中,你可以通过动态内存分配和指针操作来编写一个简单的函数,将两个字符串连接起来。这里是一个例子:
```c
#include <stdio.h>
#include <stdlib.h> // 需要包含stdlib.h来使用malloc
// 定义函数,接受两个字符串作为参数并返回它们的连接结果
char* str_concat(char* str1, char* str2) {
int len1 = strlen(str1); // 获取第一个字符串长度
int len2 = strlen(str2); // 获取第二个字符串长度
int total_len = len1 + len2 + 1; // 加一是因为需要在末尾添加终止符'\0'
// 动态分配足够的内存来存储结果字符串
char* result = (char*)malloc(total_len * sizeof(char)); // malloc用于动态内存分配
if (result == NULL) { // 如果内存分配失败,返回NULL
printf("Memory allocation failed.\n");
return NULL;
}
// 将第一个字符串复制到结果字符串
memcpy(result, str1, len1);
// 在第一个字符串的末尾添加'\0'
result[len1] = '\0';
// 将第二个字符串追加到结果字符串的末尾
strcat(result, str2);
return result; // 返回连接后的字符串
}
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
char* combined_str = str_concat(str1, str2);
if (combined_str != NULL) {
printf("Concatenated string is: %s\n", combined_str);
free(combined_str); // 释放动态分配的内存
}
return 0;
}
```
在这个例子中,`str_concat` 函数接收两个字符串,计算它们的总长度(包括终止符),然后动态分配内存来创建一个新的字符串,最后将两个字符串连接在一起。
阅读全文
相关推荐


















