字符串文字和const字符串文字[重复]有什么区别?>

问题描述 投票:0回答:1
    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),这是字符串文字的未定义行为吗?如果没有,什么...

c++ c string string-literals
1个回答
0
投票

如果需要可变字符串,则应使用以下内容

© www.soinside.com 2019 - 2024. All rights reserved.