char *str1 = "string 1"; // (1) const char *str2 = "string 2"; // (2)
(1),这是字符串文字的未定义行为吗?
如果否,我们应该使用什么定义(您能给我一些例子)吗?
更新:
如果两个定义在C中都很好。为什么当我们使用strcpy
时,编译器仅针对(2)发出警告:
strcpy(str1,"abc"); // not warning
strcpy(str2,"abc"); // warning
下面两个定义之间的区别是什么:char * str1 =“ string 1”; //(1)const char * str2 =“ string 2”; //(2)(1),这是字符串文字的未定义行为吗?如果没有,什么...
如果需要可变字符串,则应使用以下内容