c语言两个指针字符串的连接
时间: 2023-11-06 20:06:00 浏览: 125
可以使用指针和字符串操作函数来实现两个指针字符串的连接。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char *str1 = "Hello";
char *str2 = "World";
char *result;
// 分配内存给 result 字符串
result = (char *) malloc(strlen(str1) + strlen(str2) + 1);
// 连接两个字符串
strcat(result, str1);
strcat(result, str2);
printf("Result: %s\n", result);
// 释放内存
free(result);
return 0;
}
```
在上面的代码中,我们首先定义了两个指针字符串 str1 和 str2。然后,我们使用 malloc() 函数动态分配了一个字符串的内存给 result 字符串,该字符串的大小为两个字符串的大小之和再加1(用于存放字符串结束符 \0)。接着,我们使用 strcat() 函数将两个字符串连接到 result 字符串中。最后,我们打印出 result 字符串,并使用 free() 函数释放 result 的内存。
相关问题
C语言利用指针连接两个字符串
可以使用指针来连接两个字符串,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
char *ptr1, *ptr2;
printf("Enter string 1: ");
gets(str1);
printf("Enter string 2: ");
gets(str2);
ptr1 = str1 + strlen(str1);
ptr2 = str2;
while (*ptr2 != '\0') {
*ptr1 = *ptr2;
ptr1++;
ptr2++;
}
*ptr1 = '\0';
printf("Concatenated string is: %s\n", str1);
return 0;
}
```
这里定义了两个字符数组 `str1` 和 `str2`,以及两个字符指针 `ptr1` 和 `ptr2`。首先通过 `strlen` 函数获取 `str1` 的长度,并将 `ptr1` 指向 `str1` 的末尾,将 `ptr2` 指向 `str2` 的开头。
然后使用 `while` 循环将 `str2` 中的字符一个一个拷贝到 `str1` 的末尾,直到 `str2` 的结尾。最后在 `str1` 的末尾添加一个空字符 `\0`,表示字符串的结束。
最终输出拼接后的字符串即可。
c语言连接两个字符串
在C语言中连接两个字符串可以使用strcat()函数。该函数的原型为:
```c
char *strcat(char *dest, const char *src);
```
其中,dest是目标字符串,src是被连接的字符串,函数返回一个指向目标字符串的指针。使用该函数时,要确保目标字符串dest有足够的空间来容纳被连接的字符串src。
示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "hello";
char str2[20] = "world";
strcat(str1, str2);
printf("str1 = %s\n", str1);
return 0;
}
```
输出结果为:`str1 = helloworld`。