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

Types of security features employed in client server network, What are the ...

What are the types of security features employed in client server kinds of network? Security features employed in Client-Server types of network are as illustrated below: a)

Data communication, how CSMA protocol is improved through persistence metho...

how CSMA protocol is improved through persistence methods & collition detection

What is microcomputer system, Q. What is microcomputer system? The micr...

Q. What is microcomputer system? The microcomputer has a single microprocessor and a number of RAM and ROM chips as well as an interface unit which communicates with several ex

Explain characteristics of latch and flip-flop, Explain characteristics of ...

Explain characteristics of Latch and Flip-Flop. Latches are level-sensitive and transparent While the clock is high it passes input value to Output While the clock is l

Way to interconnect multiple computer across short distance, A computer com...

A computer communication technology that gives a way to interconnect multiple computer across short distance is LAN

Estate agency application, Build U Like are a building company specialising...

Build U Like are a building company specialising in hard landscaping. They lay patios, build walls, lay drives etc. for their customers. A customer will remain in the system even t

Explain about integration levels, Q. Explain about Integration Levels? ...

Q. Explain about Integration Levels? Initially only few gates were integrated consistently on a chip. This initial integration was termed as small-scale integration (SSI). With

How to correctly apply the graphics patches in matlab, Open a LOCAL MACHINE...

Open a LOCAL MACHINE window and type: xhost +ashland # Add the following code sequence just before the plot command that was giving you problems: figure; set(gcf,'renderer','zbuffe

Describe some of applications of buffer, Describe some of applications of b...

Describe some of applications of buffer? Applications of buffer: a. They are utilized to introduce tiny delays. b. They are utilized to eliminate cross talk caused becaus

Blocking and non-blocking network, Blocking and Non-Blocking network In...

Blocking and Non-Blocking network In non-blocking networks the route from any free input node to any free output node can always be offered. Crossbar is an best example of non-

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