繁体   English   中英

解引用指向char指针的指针C ++

[英]Dereferencing pointer to char pointer c++

我有以下代码:

char **ptr;
*ptr=strdup("This is a pointer");
cout<<*ptr<<endl;

当我尝试执行它时,我在cout指令中遇到了段错误。 如果我改为

char *ptr;
ptr=strdup("This is a pointer");
cout<<ptr<<endl;

一切正常。 是什么引起问题,解决方法是什么? 我没有在寻找“使用字符串”类型的解决方案。

char **ptr; //I have a pointer to pointer to char
*ptr = ...; //I dereference the pointer I never initialized and, wait...

ptr从未初始化为指向任何内容。 取消引用并分配给它时,您会得到未定义的行为。 只是在不需要它们时不使用**指针,或者初始化ptr

char** ptr = new char*(strdup("where did my rubber duck go"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM