Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > Yes (modulo doing "greater than" comparison on pointers which is IIRC not > permitted in C in general). Of course, people write a loop like this char *cp, *ep = strchr(string, '\n'); for (cp = string; cp < ep; cp++) ... all the time, and forbidding pointer comparison would make the language impossible to use ;-) I think you are confused with a different rule---what is not kosher is to compare two pointers that do not point into elements of the same array. Whether the comparison is done in (ptr1 < ptr2) way, or (ptr2 - ptr1 < 0) way, does not change the equation.