sizeof a struc field
    Lloyd Kremer 
    kremer at cs.odu.edu
       
    Sat Oct 28 04:37:18 AEST 1989
    
    
  
In article <1503 at crdos1.crd.ge.COM> davidsen at crdos1.UUCP (bill davidsen) writes:
>In article <1003 at cirrusl.UUCP>, dhesi at sunseeker.UUCP (Rahul Dhesi) writes:
>
>|          sizeof ((type *)x)->member
>
>  If x is not a pointer type I'm sure you mean 
>	sizeof ((type *)&x)->member
>			^
I'm fairly sure he meant it the first way--an integral constant expression
to be used as a pointer to some object (in this case a struct) in a totally
non-portable way.
Uses include accessing interrupt vectors or memory-mapped devices such as
the video map or RAM designated for use by the system BIOS.
One problem that comes to mind (other than obvious non-portability) is the
familiar pointer alignment problem.  I think
	((type *)1)->member
would cause a trap on any machine requiring any alignment of "type".
					Lloyd Kremer
					kremer at cs.odu.edu
					Have terminal...will hack!
    
    
More information about the Comp.lang.c
mailing list