On Thu, 9 Oct 1997 13:58:07 -0800, Andrew Warren wrote: >Ian Cameron wrote: > > > For instance, the following line is likely to be inscrutable to > novice C programmers, but they soon start to recognize it as a > string copy whenever they see it: > > while (*dest++ = *source++); > > Just wanted to comment, this is about as hairy as it usually gets, because you have two of the least understood (by novices) C concepts here, pointers and postfix operators. For you non-C programmers out there, a rough English translation is: Copy the thing pointed to by the source pointer to the location pointed to by the dest pointer, and increment the source and dest pointers AFTER the thing has been copied, ready for the next thing. Pointers are not that tough really, once you get used to them, unless you have to mentally handle lots ot dereferencing in your head (dereferencing is figuring out exactly what a series of pointers and addresses is actually pointing to). Something like this can be a headache, even for an expert C developer: x = *(thing *)( &myarry[ 5 ] ) CIAO - Martin R. Green elimar@bigfoot.com