c语言指针如何实现字符串拼接

   2025-02-18 9250
核心提示:在C语言中,可以使用指针来实现字符串拼接。以下是一个示例:#include stdio.h#include stdlib.h#include string.hchar* str_con

在C语言中,可以使用指针来实现字符串拼接。以下是一个示例:

#include <stdio.h>#include <stdlib.h>#include <string.h>char* str_concat(const char* str1, const char* str2) {// 计算两个字符串的长度size_t len1 = strlen(str1);size_t len2 = strlen(str2);// 分配足够的内存来存储两个字符串拼接后的结果char* result = (char*)malloc((len1 + len2 + 1) * sizeof(char));// 检查内存分配是否成功if (result == NULL) {printf("Memory allocation failed.\n");exit(1);}// 将第一个字符串拷贝到结果字符串中strcpy(result, str1);// 将第二个字符串追加到结果字符串后面strcat(result, str2);return result;}int main() {const char* str1 = "Hello";const char* str2 = " World!";char* result = str_concat(str1, str2);printf("%s\n", result);free(result); // 释放内存return 0;}

在上面的示例中,str_concat函数接受两个参数str1str2,分别是要拼接的两个字符串。首先,计算两个字符串的长度。然后,使用malloc函数动态分配足够的内存来存储拼接后的结果。接着,使用strcpy函数将第一个字符串拷贝到结果字符串中,再使用strcat函数将第二个字符串追加到结果字符串的末尾。最后,返回结果字符串的指针。

main函数中,定义了两个要拼接的字符串str1str2,并将它们作为参数传递给str_concat函数。然后,将返回的结果字符串打印出来。最后,使用free函数释放动态分配的内存。

输出结果为:Hello World!

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言