雪傲天1 2023-06-08 21:20 采纳率: 96.2%
浏览 13
已结题

这里的endptr为什么是个多重指针呢??


long int strtol (const char* str, char** endptr, int base)

这里的endptr为什么是个多重指针呢??
一级指针不行吗,直接等于str,比如char * ednptr = char * strx
括弧:这里的strx是未转换成功的字符

  • 写回答

1条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-06-08 22:01
    关注

    endptr 里面 应该存的是 未转换成功的字符所在位置的指针;
    要能函数里修改这个变量的同时,调用方也同时修改,就要传入这个变量的地址, 也就是说 函数的入参 是 指向指针的指针,所以定义成 char **

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 修改了问题 6月8日
  • 创建了问题 6月8日