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.