On Tue, 6 Dec 2005, Chris Shoemaker wrote: > > A pointer to a char is the same size as a pointer to an int and is the > > same size as a pointer to void. > > This is not generally true for typed null pointers. Implementations > are free to use different representations for null pointers of > different types. This has in fact been done. Using the null-pointer > of the wrong type is not portable. This is why David was right about > (void*) being better than (char*) on the sentinel.
Pointers are generally the same size on byte-addressable machines like i386 and ppc. You run into trouble with old architectures and embedded RISC. <old-timer> My favorite old architecture was the DEC-20. It had 36-bit words. C types: char 9 bits short 18 bits int 36 bits long 72 bits float 36 bits double 72 bits char * 36 bits short * 36 bits int * 18 bits long * 18 bits int ** 36 bits char ** 36 bits ... Most pointers were word pointers. Char and short pointers used a special subfield pointer extension that had its own load/store/inc/dec instructions. I find it useful to ask myself whether the code would run properly on that system when considering a portablity question. Not that a DEC-20 would be all that useful today. 2^18 * 36 bits = 2Meg * 9-bits byte addressable RAM. The system I used in college had 256K words = 1M * 9-bit RAM. If you were lucky enough to be allowed to use the console, it had a memory mapped graphics display, and the extended pointer format could also address individual pixels! The display was featured in my favorite "Flatland" fiction: _The_Planiverse_ http://www.amazon.com/gp/product/0387989161/ </old-timer> More relevant today are graphics processors (which I guess is a type of embedded), which often have varying pointer sizes, including pointers to bits and nybbles, to optimize bit pixel operations. -- Stuart D. Gathman <[EMAIL PROTECTED]> Business Management Systems Inc. Phone: 703 591-0911 Fax: 703 591-6154 "Confutatis maledictis, flamis acribus addictis" - background song for a Microsoft sponsored "Where do you want to go from here?" commercial. _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel