Aucbvax.5442 fa.unix-wizards utzoo!decvax!ucbvax!unix-wizards Fri Dec 11 08:14:23 1981 Why char *f is different from char f[] >From harpo!jerry@Berkeley Fri Dec 11 08:07:17 1981 There is a difference between a pointer to a character and an array of characters, although in some contexts C tries to hide that fact. The declaration "char *ptr" says that the variable ptr contains a pointer to a character. Normally, the declaration "char ary[]" says that ary contains an array of characters. But in most contexts C interprets occurances of "ary" as equivalent a pointer to the first character of the array. If in another file you declare "char *ary", the value of ary will be the first few characters of ary, interpreted as a pointer. The real confusion comes when C comes to interpreting function declarations like "foo(ary) char ary[]". In that case C interprets "ary" as a pointer to a character. I think that the semantics of arrays is one of the worst thought out features of C. ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.