Converting FORTRAN to C

darryl at ISM780.UUCP darryl at ISM780.UUCP
Mon Jan 14 16:05:50 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!

>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.

A wise user would do well to stay out of the corners of the language, if
s/he were to write portable code.  As we have all seen in the annals of
net.lang.*, every compiler seems to have its foibles.  This case in
particular is not under the complete control of the compiler implementor;
a cross compiler has little control over the target environment, where
malloc() may not be so wise.

	    --Darryl Richman, INTERACTIVE Systems Inc.
	    ...!cca!ima!ism780!darryl
	    The views expressed above are my opinions only.



More information about the Comp.lang.c mailing list