On Di, 2009-09-22 at 07:46 -0700, Chris Robinson wrote: > so dmW->dmFormName is the same as &(*dmW).dmFormName,
When the target is an array, the address of the first member is returned: dmW->fmFormName is: &(dmW->dmFormName[0]) similar: char buffer[32]; printf("buffer at %p\n", buffer); which is only a shortcut for: printf("buffer[0] at %p\n", &buffer[0]); > However, since GCC will remove deadcode and it's simple to see the > dereference > isn't needed, it just optimizes it away. No, removing deadcode must be enabled. You can use every compiler. > but I'm not so > sure that it's guaranteed by the C standard. Is it? Yes. -- By by ... Detlef