c 字符数组转字符串
时间: 2023-10-17 22:06:39 浏览: 91
要将C语言中的字符数组转换为字符串,可以使用以下几种方法:
方法一:使用字符指针和动态内存分配
可以定义一个字符指针,并使用动态内存分配函数`malloc`为其分配足够的内存空间。然后使用循环将字符数组中的字符逐个复制到字符串中,并在字符串的最后添加一个空字符'\0'表示字符串的结束。
方法二:使用字符数组和字符串函数
可以直接使用字符数组的名称作为字符串的表示形式,因为字符数组实际上也是一个字符串。可以利用字符串函数来操作字符数组,例如使用`strcpy`函数将字符数组复制到另一个字符串中。
以下是方法一的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
char *arrayToString(char numstr[], int numstrSize) {
char *str = malloc((numstrSize + 1) * sizeof(char));
int i;
for(i = 0; i < numstrSize; i++) {
str[i] = numstr[i];
}
str[numstrSize] = '\0';
return str;
}
int main() {
char numstr[] = {'H', 'e', 'l', 'l', 'o'};
int numstrSize = sizeof(numstr) / sizeof(numstr[0]);
char *str = arrayToString(numstr, numstrSize);
printf("%s\n", str);
free(str);
return 0;
}
```