C language was defined to cover a large range of computer architectures, including many which would be considered museum relics today. It therefore takes a very conservative view of what is permitted, so that it remains possible to write C programs for those ancient systems. (Which weren’t quite so ancient at the time.)
How To Check If A Pointer Is In A Range Of Memory
by Raymond Chen
From the article:
Suppose you have a range of memory described by two variables, say,byte* regionStart; size_t regionSize;
And suppose you want to check whether a pointers lies within that region. You might be tempted to writeif (p >= regionStart && p < regionStart + regionSize)
but is this actually guaranteed according to the standard?
Add a CommentComments are closed.