【发布时间】:2012-09-14 06:09:00
【问题描述】:
从定义double strtod ( const char * str, char ** endptr );
C 参考网站为该强大功能提供了一个示例:
char szOrbits[] = "365.24 29.53";
char * pEnd;
double d1, d2;
d1 = strtod (szOrbits,&pEnd);
d2 = strtod (pEnd,NULL);
如果endptr 应该是char ** 类型,为什么这里使用char *pEnd?而不是char **pEnd?
【问题讨论】:
-
在 C 中查找 pass-by-reference。这就是它的作用。
-
endptr是char**类型,因此函数可以修改它指向的char*。