I ran into this in a library with the compiler:
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);
What does "*--" actually do? I tried searching for that but it's not included in C references I could find and search engines do not like "*--" much.