Define external variable declaration, Computer Engineering

Assignment Help:

Summarize the distinction between an external variable definition and an external variable declaration.

When we have ''declared'' a variable, we have meant that we have told the compiler about the variable; i.e. its type and its name, as well as allocated a memory cell for the variable (either locally or globally). This latter action of the compiler, allocation of storage, is more properly called the definition of the variable. The stricter definition of declaration is simply to describe information ''about'' the variable.  For automatic and register variables, there is no difference between definition and declaration. The process of declaring an automatic or a register variable defines the variable name and allocates appropriate memory. However, for external variables, these two operations may occur independently. This is important because memory for a variable must be allocated only once, to ensure that access to the variable always refers to the same cell.

If an external variable is to be used in a file other than the one in which it is defined, a mechanism is needed to ''connect'' such a use with the uniquely defined external variable cell allocated for it. This process of connecting the references of the same external variable in different files, is called resolving the references.

External  variables  may  be  defined  and  declared  with  a  declaration  statement outside any function, with no storage class specifier. Such a declaration allocates memory for the variable. A declaration statement may also be used to simply declare a variable name with the extern storage class specifier at the beginning of the declaration. Such a declaration specifies that the variable is defined elsewhere, i.e. memory for this variable is allocated in another file. Thus, access to an external variable in a file other than the one in which it is defined is possible if it is declared with the keyword extern; no new memory is allocated. Such a  declaration tells  the compiler  that  the  variable  is  defined  elsewhere,  and  the code  is compiled with the external variable left unresolved. The reference to the external variable is resolved during the linking process

 


Related Discussions:- Define external variable declaration

Provision for data buffering, Data buffering is quite helpful for purpose o...

Data buffering is quite helpful for purpose of smoothing out gaps in speed of processor and I/O devices. Data buffers are registers that hold I/O information temporarily. I/O is pe

Explain the raster scan monitors, Explain the raster scan monitors The ...

Explain the raster scan monitors The refresh process must also be performed for raster scan monitors. Most television monitors are raster scan display devices : one scan-line a

Convert the following decimal numbers into octal, Q. Convert the following ...

Q. Convert the following DECIMAL numbers into OCTAL, double check by converting the result OCTAL to DECIMAL. a) 932 b) 4429.625 c) 19

Phase - thermodynamics, Phase - Thermodynamics: A phase is quantity of...

Phase - Thermodynamics: A phase is quantity of matter that is homogeneous throughout in chemical composition and physical structure. If the matter is all gas, all liquid or

What is a linked list, What is a linked list? Linked list: A linked l...

What is a linked list? Linked list: A linked list is a self referential structure which having a member field that point to the similar structure type. In simple term, a link

Explain main requirements satisfy by page replacement policy, List out the ...

List out the main requirements between page replacement policies which should be satisfied by a page replacement policy? The major requirements that should be satisfied

Interpolation search, Interpolation Search The next task is to implemen...

Interpolation Search The next task is to implement a variable size decrease-and-conquer solution to search. See Levitin [2007] pp 190 for a detailed description of the interpol

Padovan string , A Padovan string P(n) for a natural number n is defined as...

A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation. For a string of t

Communication between memory and the processor, How are instructions sent b...

How are instructions sent between memory and the processor? Both the instruction pointer (IP) and program counter (PC) utilized to holds the memory address of the next inst

Algorithm to have a good best case running time, How can we change almost a...

How can we change almost any algorithm to have a good best case running time? Check whether the input constitutes an input at the very starting Or else run the original algo

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd