首页 > 解决方案 > 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 个随机符号。

标签: carrayspointerscharmalloc

解决方案


您正在为一个字符分配一个字符串。相反,分配一个字符:

array[0] = 'h';

之后,您需要以空值终止您的字符串:

array[1] = '\0';

或者,您可以使用以下方法复制字符串strcpy

strcpy(array, "h");

推荐阅读