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