Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!indri!uflorida!gatech!udel!princeton!njsmu!mccc!pjh From: pjh@mccc.UUCP (Pete Holsberg) Newsgroups: comp.lang.c Subject: Pointers, Structs, and Arrays Message-ID: <743@mccc.UUCP> Date: 8 May 89 21:52:43 GMT Reply-To: pjh@mccc.UUCP (Pete Holsberg) Distribution: usa Organization: The College On The Other Side of U.S. Route 1 Lines: 25 I ran across the following code and, although I've figured out what it does, I'm not sure how to explain the notation. struct foo { char bar[20]; } list[100]; init() { int i; for (i=0; i<100; ++i) *list[i].bar = '\0'; } Now I know that the last line points to the first character in the bar array In each struct variable, but how? If bar = &bar[0], how so the '*' and the '&' "get together" to make the last line equivalent to list[i].bar[0] ?? -- Pete Holsberg UUCP: {...!rutgers!}princeton!mccc!pjh Mercer College CompuServe: 70240,334 1200 Old Trenton Road GEnie: PJHOLSBERG Trenton, NJ 08690 Voice: 1-609-586-4800