Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!mit-eddie!uw-beaver!tektronix!uunet!portal!cup.portal.com!bcase From: bcase@cup.portal.com Newsgroups: comp.lang.c Subject: Grammer discrepancies for external data definitions. Message-ID: <8014@cup.portal.com> Date: 10 Aug 88 01:17:30 GMT Organization: The Portal System (TM) Lines: 17 XPortal-User-Id: 1.1001.5156 Hi. I have a question about the necessity of including a type-specifier for an external data definition (not a function definition). It seems that the ANSI C grammer in the back of the new (2nd edition) K & R book doesn't allow something like *i; to stand for int *i; In fact, in the "Summary of changes" section in the back of that book, it says: "External declarations without any specifiers or qualifiers (just a naked declarator) are fobidden." Yet it seems that at least some claimed-ANSI C compilers accept this and do what you might expect (allocate room for an int). At least one C++ implementation disallows it. To those of you with the ANSI spec sitting in front of you, I ask "what is the correct behavior?"