Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site rabbit.UUCP Path: utzoo!watmath!clyde!floyd!harpo!ulysses!allegra!alice!rabbit!ark From: ark@rabbit.UUCP (Andrew Koenig) Newsgroups: net.lang.c Subject: Re: extern declaration inconsistency Message-ID: <2669@rabbit.UUCP> Date: Wed, 4-Apr-84 11:09:20 EST Article-I.D.: rabbit.2669 Posted: Wed Apr 4 11:09:20 1984 Date-Received: Thu, 5-Apr-84 01:53:33 EST References: <1538@mit-eddie.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 18 If, in one file, you say char ch[32]; and in another file, you say char *ch; then your program won't work. Reason: in the first file you have asked for memory to be associated with the external name "ch" that should contain a 32-character array, and in the second you have asked for the same memory to be associated with a character pointer. In those implementations which I am familiar, the first four (or two) characters in the array will be interpreted as the address pointed to by the pointer. Arrays and pointers are simply different, though they can be used interchangably in a few contexts.