我在做作业的时候,了解到我们不应该使用以下形式的赋值语句:
char *s="HELLO WORLD";
程序使用这些语法的情况容易崩溃。我尝试并使用了:
int fun(char *temp)
{
// do sum operation on temp
// print temp.
}
fun("HELLO WORLD");
即使上面的代码可以工作(尽管输出可能与编译器和标准相关),但我们应该尝试使用strdup()或者使用const char *。
我已经尝试阅读博客上其他类似的问题,但是我无法理解为什么上面的代码不能工作。
内存是否被分配??而const有什么区别??
char *s="HELLO WORLD"
是一种初始化,而不是赋值。无论如何,你为什么认为它不好? - qrdl