[英]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.