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

What are the input devices, What are the Input devices Various devices ...

What are the Input devices Various devices are available for data input on graphics workstations. Most systems have a keyboard and one or more additional devices specially desi

Implication connective - modus ponens rule, Implication connective - Modus ...

Implication connective - Modus ponens rule: We notice that this is a trivial example, so it highlights how we use truth tables: as the first line is the only one when both abo

Which types of software programs are usually supported, Which types of soft...

Which types of software programs are usually supported? Our organization is unique in that we are very flexible and can meet most client requires relative to the integration of

Device drivers in assembly, Device drivers are special programs installed b...

Device drivers are special programs installed by config.sys file to control installable devices.  So personal computers can be expanded at some future time by installation of new d

What is swimlane, What is swimlane? In business model, it is often help...

What is swimlane? In business model, it is often helpful to know which human organization is responsible for activity. Show the partition of activities into columns and lines.

Explain bitwise left shift and right shift operators, Bitwise Left Shift an...

Bitwise Left Shift and Right Shift Operators: > shift-expression : additive-expression shift-expression > additive-expression The bitwise shift operators shift their

Enumerate the process of dynamic modelling:, Define the Process of dynamic ...

Define the Process of dynamic modelling: Analyse applicability of actions Recognize object states Create dynamic model diagram Express every state in terms o

Node at the highest level in the structure, Node at the highest level in th...

Node at the highest level in the structure is known as?? Root.

Grounding a variable - first-order logic, Grounding a variable - first-orde...

Grounding a variable - first-order logic: The perform of making ourselves clear about a variable by introducing an exists or a forall sign is called quantifying the variable.

Testmanagers wizard, TestManager has a wizard that you can use to copy or i...

TestManager has a wizard that you can use to copy or import test scripts and other test assets (Datapools) from one to another.

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