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

# real life business subsystem, Is production, marketing, personal, materia...

Is production, marketing, personal, material, finance are the real life business subsystems? if yes, then how?

What is remote login, Remote Login  A login that permits a user termina...

Remote Login  A login that permits a user terminal to connect to a host computer by a network or direct telecommunications link, and to interact with that host computer as if t

Various connectivity option available to internet subscriber, What are the ...

What are the various connectivity options available to Internet Subscribers? Internet Connectivity Options: Internet access is perhaps one of the most admired services that

A switch statement , Which is more efficient, a switch statement or an if e...

Which is more efficient, a switch statement or an if else chain? Ans) The differences, if any, are likely to be small. The switch statement was designed to be efficiently impl

What is middleware net dynamics, NetDynamics Application Server was the pri...

NetDynamics Application Server was the primary Java-based integrated software platform. The product was developed by NetDynamics Inc. As Java became the dominant development langua

Robotics artificial intelligence, what is robot?explain different types of ...

what is robot?explain different types of robots with respect to joints.

What is associative search, What is associative search? The cost of an ...

What is associative search? The cost of an associative cache is higher that the cost of a direct mapped cache due to the need to search all 128 bit tag patterns to verify wheth

Explain XLAT instruction with help of example, Q. Explain XLAT instruction ...

Q. Explain XLAT instruction with help of example? Let's presume a table of hexadecimal characters signifying all 16 hexadecimal digits in table: HEXA      DB      '012345678

C++, Byteland county is very famous for luminous jewels. Luminous jewels ar...

Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Nec

Explain the ccitt hierarchical structure of switching, Explain the CCITT hi...

Explain the CCITT hierarchical structure of switching using block schematic. Hierarchical network are able of handing heavy traffic where needed, and at similar time use mini

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