美文网首页
const char* 和 char*

const char* 和 char*

作者: 西贝_贾 | 来源:发表于2021-07-01 11:16 被阅读0次

char *向const char *转化

char * 向const char *可以直接赋值

const char *向char *转化

const char * src = "hello";

char * dest; // 
strcpy(dest, src);

delete []dest;

采用上面这种方法是不行的,在编译阶段可能不会给出错误提示,或者只给出警告,但在运行阶段会给出segmention fault的错误提示,这是因为const char * src认为src是常量,当把地址赋给char时,char能修改常量,所以错误,需要采用下列方法。

const char * src = "hello";

char * dest = new char[strlen(src)]; // dest必须申请新的地址,故要用new提前分配地址
strcpy(dest, src);

delete []dest;

相关文章

网友评论

      本文标题:const char* 和 char*

      本文链接:https://www.haomeiwen.com/subject/vreteltx.html