/* * ========================================================================= * File1 : Demonstrate Scope of Variables and Functions in 2 file C Program. * * Copyright (C) 1994-96 by Mark Austin and David Mazzoni. * * This software is provided "as is" without express or implied warranty. * Permission is granted to use this software on any computer system, * and to redistribute it freely, subject to the following restrictions: * * 1. The authors are not responsible for the consequences of use of * this software, even if they arise from defects in the software. * 2. The origin of this software must not be misrepresented, either * by explicit claim or by omission. * 3. Altered versions must be plainly marked as such, and must not * be misrepresented as being the original software. * 4. This notice is to remain intact. * * Written By : M. Austin and D. Mazzoni January 1994 * ========================================================================= */ #include /* Declarations for (external) Functions */ void TestFunction1(); extern void TestFunction2(); /* Declarations for Global and File-level Variables */ enum {freezing = 32}; float fTemperature = freezing; /* Global float variable, which is visible throughout rest of this file, and also visible to other files */ static int iValue1 = 10; /* Scope of iValue1 restricted to this file */ int main( void ) { int iCount; /* [a] : Increment Variables in External File */ printf("In main() : iValue1 = %d\n", iValue1 ); printf("In main() : fTemperature = %f\n", fTemperature); TestFunction1(); printf("In main() : fTemperature = %f\n", fTemperature); /* [b] : Call TestFunction2() three times */ for(iCount = 1; iCount <= 3; iCount++ ) TestFunction2(); } void TestFunction1() { printf("In TestTunction1() located in file 1 : Value1 = %d\n", iValue1); }