使用指针实现字符串的复制,并将字符串输出
时间: 2023-06-17 16:06:13 浏览: 92
下面是使用指针实现字符串的复制并输出的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *src = "Hello, World!";
char *dest = (char*)malloc(strlen(src) + 1); // 分配内存空间
if (dest == NULL) {
printf("Memory allocation failed\n");
return 1;
}
char *p1 = src;
char *p2 = dest;
// 复制字符串
while (*p1 != '\0') {
*p2 = *p1;
p1++;
p2++;
}
*p2 = '\0'; // 手动添加字符串结尾
printf("Original string: %s\n", src);
printf("Copied string: %s\n", dest);
free(dest); // 释放内存空间
return 0;
}
```
在上面的代码中,我们首先使用 `malloc` 函数分配了一个与源字符串长度相同的内存空间,然后使用两个指针 `p1` 和 `p2` 分别指向源字符串和目标字符串,通过循环将源字符串中的每个字符都复制到目标字符串中。最后,我们手动添加了一个字符串结尾的空字符 `\0`,并输出了原始字符串和复制后的字符串。最后别忘了使用 `free` 函数释放内存空间。