/* the following appears in the "globals"
header file(s) */
#ifdef IN_MAIN
#define declare( obj, init ) obj = init
#else
#define declare( obj, init ) extern obj;
#endif
/* the declarations/definitions */
declare( int i, 10 );
declare( char str[], "An initialized string" );
declare( int w[ 10 ][10 ], { 0 } );