Converting FORTRAN to C

jim at ISM780B.UUCP jim at ISM780B.UUCP
Mon Jan 14 16:42:43 AEST 1985


>Although &p[ARRAYSIZE] may not dereference an invalid location, it's value
>may not have much meaning, either.  For example, if you were running on
>an 80*86 chip, and p was an array filling a segment, then &p[ARRAYSIZE]
>has a value of 0!  In particular, the for loop would terminate immediately.
>I don't believe that this technique is good form, even if it looks like
>it says what you mean more clearly.  And I also don't believe that its
>portable.

A wise compiler writer would never allow the allocation of the last byte
of a segment.  Comparisons to the address one byte beyond the end of an
array are ubiquitous in C code, and it would verge upon insanity to
try to outlaw them.

-- Jim Balter, INTERACTIVE Systems (ima!jim)



More information about the Comp.lang.c mailing list