标准 C 库函数strtof
并strtod
具有以下签名:
float strtof(const char *str, char **endptr);
double strtod(const char *str, char **endptr);
它们每个都将输入字符串 , 分解str
为三个部分:
- 一个初始的、可能为空的空白序列
- 表示浮点值的字符“主题序列”
- 无法识别(并且不影响转换)的字符“尾随序列”。
如果endptr
不是NULL
,则*endptr
设置为指向紧随作为转换一部分的最后一个字符的字符的指针(换句话说,尾随序列的开始)。
我想知道:为什么 是endptr
指向非const
char
指针的指针?不是*endptr
指向const
char
字符串(输入字符串str
)的指针吗?