c - C - 如何将字符添加到数组
问题描述
我试图弄清楚如何将一个简单的添加char
到使用创建的数组中malloc
。
#include <stdio.h>
#include <stdlib.h>
int main() {
char *array = malloc(2);
array[0] = "h";
printf("%s", array);
return 0;
}
它给出了警告:
warning: assignment makes integer from pointer without a cast [-Wint-conversion]
array[0] = "h";
如果我仍然运行该程序,它只会打印出 3 个随机符号。
解决方案
您正在为一个字符分配一个字符串。相反,分配一个字符:
array[0] = 'h';
之后,您需要以空值终止您的字符串:
array[1] = '\0';
或者,您可以使用以下方法复制字符串strcpy
:
strcpy(array, "h");