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 the cih, CIH, also known  as Chernobyl or Spacefiller, is a Microso...

CIH, also known  as Chernobyl or Spacefiller, is a Microsoft Windows computer virus which first emerged in 1998. It is one of the most damaging viruses, overwriting critical inform

Size of scripts and libraries, Main script section ("Sub Main .. End Sub) a...

Main script section ("Sub Main .. End Sub) and function bodies should fit within an A4-page (approx. two monitor-pages). If the code doesn't fit it is a candidate to do more decoup

Nand gate, The NAND gate. The NAND gate is equivalent to an AND gate fo...

The NAND gate. The NAND gate is equivalent to an AND gate followed by a NOT gate so that the output is 0 when all of the inputs are high, otherwise the output is 1. There may

Why we use addressing schemes, Q Why we use addressing schemes? An ope...

Q Why we use addressing schemes? An operation code of an instruction tells the operation to be performed. This operation is executed on some data stored in memory or register.

What is a pre-processor, What is a pre-processor? A pre-processor is a ...

What is a pre-processor? A pre-processor is a program that procedure the source code before it passes by the compiler. It handles under the control of pre-processor directive.

What is the need of modem in data communication, What is the need of MODEM ...

What is the need of MODEM in data communication? Need of Modem: Modems are utilized to interface computer networks, computers and other terminal equipment for radio channels

Implemented in a program developed for sorting , A student counted up the n...

A student counted up the number of statements implemented in a program developed for sorting n integers and came up with a recurrence of the form: T(n) = a * n + b + 2T(n/2), an

Explain about barrier, Q. Explain about Barrier? Barrier: No actual tra...

Q. Explain about Barrier? Barrier: No actual transfer of data takes place in this mode unless all the processors involved in the communication execute a particular block, calle

Explain how a critical section avoids race condition, Explain how a critica...

Explain how a critical section avoids Race condition. To prevent Race Condition, concurrent processes should be synchronized. Data consistency needs that only one process m

What is replacement algorithm, What is replacement algorithm? When the ...

What is replacement algorithm? When the cache is full and a memory word that is not in the cache is referenced, the cache control hardware must decide which block should be del

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