"Daniel A. Koepke" wrote:
> As a general rule, a pointer is a pointer, regardless of its type. All
> pointers are 4 bytes on 32 bit computers (because, of course, an address
> on a 32 bit computer is 32 bits long, or 4 bytes). Thus, the compiler
> does not treat, "char *temp = NULL;" any differently than it
> treats, "struct char_data *ch = NULL;".
This is not necessarily the case, while it is true that a 32 bit platform will
use 32 bit memory addresses a C pointer may hold more than just the base
address. For example if a platform addresses its memory in 32 bit boundries an
implementation may choose to add an extra two bits to a char pointer so it can
point to any of four chars which would be addressed in that same 32 bit chunk,
how a particular implementation chooses to store its pointers is completely up
to the implementation, and the size of a pointer should never be assumed under
any circumstances.
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST