Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!ima!haddock!karl From: karl@haddock.UUCP Newsgroups: comp.lang.c Subject: Re: storage class != Storage Class (Was: Why are typedef names ...) Message-ID: <193@haddock.UUCP> Date: Fri, 12-Dec-86 18:01:20 EST Article-I.D.: haddock.193 Posted: Fri Dec 12 18:01:20 1986 Date-Received: Mon, 15-Dec-86 06:24:33 EST References: <1092@spice.cs.cmu.edu> <7374@utzoo.UUCP> <6430@alice.uUCp> <3745@utcsri.UUCP> Reply-To: karl@haddock.ISC.COM.UUCP (Karl Heuer) Organization: Interactive Systems, Boston Lines: 14 Summary: One case not covered In article <3745@utcsri.UUCP> greg@utcsri.UUCP (Gregory Smith) writes: >So there are three 'storage classes' (really link-time scope classes) >for top-level objects: > >(1) static: object is defined here in this file and is not externally visible. >(2): object is defined here in this file and *is* externally visible. >(3) extern: object is not defined here but is available externally. Which brings up an interesting question: How do you declare an object which is not being defined at this point and is not available externally? Is there a portable way to make a forward declaration of a static variable? (I've been using "extern", but I wonder if that really works on all compilers.) Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint