argc[argv]
    edhall%rand-unix at sri-unix.UUCP 
    edhall%rand-unix at sri-unix.UUCP
       
    Mon Dec 19 11:54:00 AEST 1983
    
    
  
In C the addition of an integer to a  pointer  implicitly  does  the
multiplication you attempt to do explicitly (i.e., your example ends
up doing the multiplication twice).  This follows from the rules for
C pointer arithmetic, in which adding to a pointer works in units of
N bytes, where N is the size of the object pointed to. (Look  it  up
in  K  &  R...)  The  equivalence  of  a[i] and *(a+i) works for all
pointers `a' and integer types `i'.
Perhaps you were confused by the  need  for  the  multiplication  in
assembler-language programming.
		-Ed Hall
		edhall at rand-unix        (ARPA)
		decvax!randvax!edhall   (UUCP)
    
    
More information about the Comp.unix
mailing list