我最近遇到了很大的问题char*
。假设我创建了一个递归函数来恢复 achar*
但取决于我如何初始化它,我会遇到一些访问冲突,并且在我的 C++ 入门中我没有找到任何可以让我理解正确路径的东西,所以我正在寻求你的帮助。
案例 1 尝试交换字母时遇到访问冲突的第一种情况:
char * bob = "hello";
案例2然后我尝试了这个让它工作
char * bob = new char[5];
bob[0] = 'h';
bob[1] = 'e';
bob[2] = 'l';
bob[3] = 'l';
bob[4] = 'o';
案例 3但是当我做了一个 cout 时,我在最后得到了一些随机的废话,所以我把它改成了
char * bob = new char[6];
bob[0] = 'h';
bob[1] = 'e';
bob[2] = 'l';
bob[3] = 'l';
bob[4] = 'o';
bob[5] = '\0';
案例 4那行得通,所以我告诉自己为什么那时不行
char * bob = new char[6];
bob = "hello\0";
案例 5,但它失败了,我还在某处读过你可以做类似的事情
char* bob[];
然后添加一些东西。我的问题是为什么有些失败而有些失败,最好的方法是什么?