【发布时间】:2020-02-05 02:47:15
【问题描述】:
st1 = st2 如果它们都是char*,如何制作
char * string1 = malloc(sizeof(char));
char * string2 = malloc(sizeof(char));
string1 = "hello";
string2 = "world";
string1 = string2; // error in the future code
如何适当地做到这一点?
【问题讨论】:
-
string1= string2 是正确的,即使我认为您正在寻找 strcpy()
-
您显示的代码有几个错误。此外,这看起来像一个 XY 问题。你能详细说明你真正想要做什么吗?
-
您有内存泄漏。将指针分配给动态分配的内存后,用指向字符串文字的指针覆盖它们。
-
char *string1 = malloc(sizeof (char))几乎可以肯定是一个错误。您刚刚分配了足够的空间来存储一个字符。如果你想用它来存储一个字符串,你有足够的空间只存储空字符串(你只能存储空终止符)。
标签: c pointers makefile char assign