someFunction(const char* &txt){ txt++; //Increment the pointer txt--; //Decrement the pointer}
我如何回到指针的开头? (不计算我的增量数量并减少该数量)我在想类似的事情:
txt = &(*txt[0]);
但这似乎不起作用(将指针指定到其起始位置).
任何帮助将不胜感激
布雷特
解决方法 你不能.你必须保存它的原始位置:const char *o = txt;// do worktxt = o;
或使用索引:
size_t i = 0;// instead of txt++ it's i++// and instead of *txt it's txt[i]i = 0;
你的尝试:
txt = &(*txt[0]);
如果你看一下是不正确的.首先,它需要txt [0](类型为char),然后尝试用*取消引用它,然后使用&运算符(理论上产生原始结果,虽然我不想过于考虑这是否适用于取消引用像char这样的算术类型),然后将(算术)结果分配给指针.就像你说的那样:
const char *txt = 'a';
这没有意义.你可能正在寻找的只是简单
txt = &txt[0];
乍一看,它可能看起来像设置txt指向txt的第一个元素,但请记住txt [0]只是*(txt 0)或* txt.并且& * txt简化为txt,因此您可以有效地执行:
txt = txt;
或无.你得到相同的指针.使用我描述的两种方法之一.
总结以上是内存溢出为你收集整理的c – 返回指针的开头?全部内容,希望文章能够帮你解决c – 返回指针的开头?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)