c语言运用指针数组参数编写函数实现字符串连接 void strcat(char *str1, char *str2)
时间: 2024-11-27 14:17:12 浏览: 25
在 C 语言中,你可以通过指针数组参数实现字符串连接,但是 `strcat` 函数本身并不是用于处理指针数组的,它是一个标准库函数,用于将字符串 str2 追加到字符串 str1 的末尾。如果你想要用指针数组,你可能会创建一个类似自定义函数的例子,这里我为你演示一个简单的模拟版本:
```c
#include <stdio.h>
#include <string.h>
// 自定义的字符串连接函数,接收两个指向字符数组的指针
void concatenate_strings(char** arr, int n) {
// 检查输入是否为空
if (n <= 0 || !arr[0]) return;
char* current = arr[0]; // 首先设置为第一个字符串
for (int i = 1; i < n; i++) {
// 将当前字符串的结束位置更新为下一个字符串的开始位置
char* end_of_current = current + strlen(current);
memmove(end_of_current, arr[i], strlen(arr[i]) + 1); // 移动剩余空间
current = end_of_current; // 更新当前字符串地址
}
}
int main() {
char strings[] = {"Hello, ", "world!"};
int n = sizeof(strings) / sizeof(strings[0]);
concatenate_strings(&strings, n);
printf("Concatenated string: %s\n", strings);
return 0;
}
```
在这个例子中,`concatenate_strings` 函数接受一个指针数组 `arr` 和其长度 `n`。它遍历数组,每次迭代都将一个字符串追加到前一个字符串的末尾。注意,这只是一个简化的模拟,实际应用中你需要考虑内存分配、内存管理以及错误检查。
阅读全文