Difference between "char *arr" and "char arr[]"
    Jeff d'Arcy 
    jdarcy at encore.com
       
    Sun Sep 23 04:58:44 AEST 1990
    
    
  
In case nobody else has mentioned it (I came in late on this one), there
is a difference between *x and x[] besides allocation and semantics for
globals: sizeof().  A lot of times I've been tempted to write
	static char *message = "hello";
	/* ... */
	write(fd,message,sizeof(message));
within a routine.  Obviously this won't work, but
	static char message[] = "hello";
will.  It's amazing how easy it is to forget this little detail and how
many times I've seen it done.  Usuaully it's much more insidious than
this example.
--
Jeff d'Arcy, Generic Software Engineer - jdarcy at encore.com
      Nothing was ever achieved by accepting reality
    
    
More information about the Comp.lang.c
mailing list