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 dithering, Q. What is Dithering? CMYK provides only 8 colours (...

Q. What is Dithering? CMYK provides only 8 colours (C, M, Y K, Violet= C + M, Orange= M + Y, Green = C + Y, and colour of paper itself!). What about other colours?  For these t

In pram model steps required for executing an algorithm, Q. In PRAM model s...

Q. In PRAM model steps required for executing an algorithm? Subsequent steps are performed by a PRAM model whenever executing an algorithm: i) Read phase: First the N proc

Conversion of fractional number into its binary number, Conversion of fract...

Conversion of fractional number 0.6875 into its equivalent binary number ? Ans. Multiply the fractional number 0.6875 with 2 until the remainder becomes 0 that is, Ther

Role of bitmap indexes to solve aggregation problems, Describe about the ro...

Describe about the role of bitmap indexes to solve aggregation problems? Ans) Bitmaps are very useful in begin schema to join large databases to small databases. Answer queries

Optimal number of disks , John Lindsay sells disks that have 25 software pa...

John Lindsay sells disks that have 25 software packages that show a variety of financial functions, including net present value, internal rate of return, and other financial progra

What is the function of a tlb, What is the function of a TLB (translation...

What is the function of a TLB (translation look-aside buffer)? A small cache called the TLB is interporated into MMU, which having of the page table entries that correspondi

Explain the concept of switching, Question: (a) A computer network can...

Question: (a) A computer network can be a LAN or a WAN. Using appropriate diagrams and examples, explain what you understand by the term LAN. Your answer should also explain

Complex micro-controller, The 68Hc11 is actually a complex micro-controller...

The 68Hc11 is actually a complex micro-controller its contains internally RAM, EEPROM, Parallel IO and serial ports, hardware timers and a 8 channel ADC.  The internal structure is

Layers of distributed system architecture, Q. Layers of Distributed System ...

Q. Layers of Distributed System architecture? Layers of Distributed System architecture are: Presentation Layer is actual user interface. This layer receives input and

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