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 is importance of xml into edi and electronic commerce, What is the imp...

What is the importance of XML into EDI and electronic commerce? XML has been explained as lightweight SGML: XML demonstrates great promise for its inherent capability to per

How many select lines will a 32:1 multiplexer will have, How many select li...

How many select lines will a 32:1 multiplexer will have ? Ans. 5 select lines will be required for 32 inputs, as 2 5 = 32.

Multi-layer network architectures, Multi-Layer Network Architectures - Arti...

Multi-Layer Network Architectures - Artificial intelligence: Perceptrons have restricted scope in the type of concepts they may learn - they may just learn linearly separable f

use and benefits of object-oriented programming, The Chocolate Delights Ca...

The Chocolate Delights Candy Company requires to add the following functionality to its cash register: When a customer is checking out, the cash register requires keeping the ne

No class can derive, Make a console application. Add class 'Account' having...

Make a console application. Add class 'Account' having variables as num (integer) name (String), bal (double), ac_code (byte). Describe four different constructors to initialize th

Computer Architecture, As an advocate of CISC architecture to RISC architec...

As an advocate of CISC architecture to RISC architecture, what are the merits and demerits of CISC to RISC architecture

What is indexed addressing, What is Indexed addressing The location of ...

What is Indexed addressing The location of data is calculated as sum of an address specified by one of previous methods, and value of an index register. This allows an array of

What is a flip-flop, What is a flip-flop? Ans. Flip-flop is particu...

What is a flip-flop? Ans. Flip-flop is particular bit memory cell. This stores individual bit information in its true and compliment form. It is the basic block of any sequ

Explain parallelism based on grain size in detail, Parallelism based on Gra...

Parallelism based on Grain size Grain size : Grain size/ Granularity are a measure that defines how much computation is involved in a process. Grain size is concluded by count

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