* - 符号在C中有什么作用?

Bar*_*man -2 c pointers

我在带有编译器的库中遇到了这个问题:

register char *bufptr;
register int   neg = val < 0;
register long  uval = val;

*(bufptr = &tempc[BUFLEN - 1]) = 0;

do {*--bufptr = abs(uval % 10) + '0';}  while(uval /= 10);
Run Code Online (Sandbox Code Playgroud)

"* - "实际上做了什么?我尝试搜索它,但它不包括在我能找到的C引用中,搜索引擎不喜欢"* - ".

tas*_*oor 5

*--bufptr相当于*(--bufptr),即它bufptr首先递减然后得到它的值.

如果查看C运算符优先级表,您会看到递增和递减运算符的优先级高于取消引用运算符.