6.3 Global variables

----------------------

Global variables are variables whose range of action is the entire

program. In C-- global variables can be used in the functions listed below

instead of declaring them, i. e., if the function uses the variable 'var'

and this variable is declared below the text of the function, the compiler

will display an error message. This is because it recognizes the variable

type only after it is declared. For this type of variable the address can

be used since it does not depend on its type. For instance:

void Proc(){

gvar = 0; /* the compiler issues an error message since it does not yet

know the type of the variable 'gvar' */

AX = #gvar; /* even though the compiler does not know the address of this

variable, the expression will be compiled */

}

int gvar;

But the case is not hopeless and our goal can be achieved using

alternate syntax for referring to the variable:

void Proc(){

DSINT[#gvar] = 0; /* the compiler successfully compile this expression

he now known type variable gvar */

}

int gvar;

the compiler will compile this expression since it now knows the type

of the variable 'gvar'

Memory for global variables is reserved in the data segment. If the

variable is initialized at declaration (i. e., if it is assigned some

value) the variable will be included in the code of the file being

compiled. If the variable is not initialized, space will be reserved for it

immediately following the final byte of the compiled program.