传指针是为了能够改变原始内容或者减少内存复制操作
用一个例子来解释
int i = 20;
int *p1 = &i;
int **p2=&p1;//这样可以通过修改*p2修改p1
将一段数字字符串转换成数字
#define is_digit(x) ((x)>='0'&&(x)<='9')
static int skip_atoi(char**s)
{
int i = 0;
while(is_digit(**s))
{
i= i*10+*((*s)++)-'0';
}
return i;
}
const char*str = "12345abcdef6789";
skip_atoi(&str);
结果 str = str+5;
#define is_digit(x) ((x)>='0'&&(x)<='9')
static int skip_atoiEx(char *s)
{
int i=0;
while(is_digit(*s))
{
i=i*10+*(s++)-'0';
}
return i;
}