在C中,可以在声明中使用字符串文字,如下所示:
char s[] = "hello";
Run Code Online (Sandbox Code Playgroud)
或者像这样:
char *s = "hello";
Run Code Online (Sandbox Code Playgroud)
那么区别是什么呢?我想知道在编译和运行时的存储持续时间实际发生了什么.
I. char *str = "Stack";
II. char *str = (char*) malloc(6);
strcpy(str, "Stack");
Run Code Online (Sandbox Code Playgroud)
上述两种方法有何不同?
窗帘后面是相同还是不同?