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 model view controller (mvc), Model-View-Controller (MVC) is a desig...

Model-View-Controller (MVC) is a design pattern in which "the user input, the modelling of the external world and the visual feedback to the user are explicitly splitted and handle

How to information transfer from one register to another, Q. How to Informa...

Q. How to Information transfer from one register to another? Information transfer from one register to another is designated in symbolic notation by a replacement operator. For

Explain the characteristics of program interpretation model, Explain the ch...

Explain the characteristics of program interpretation model. The program interpretation model characteristics are: The source program is retained into the source form it

What is independent process, What is independent process? A process is ...

What is independent process? A process is independent it cannot affect or be affected by the other processes implementing in the system. Any process does not share data with ot

Explain about server synchronization, Q. Explain about Server synchronizati...

Q. Explain about Server synchronization? Server synchronization: It updates atom by server process of requesting process. In this method an atom acts as a unique update server.

Implement the logic of the following gates, Q. Develop a menu driven prog...

Q. Develop a menu driven program to implement the logic of the following gates. I. AND Gate II. OR Gate III. NOT Gate IV. Exit The user has option to give n number

C++, pebble merchant

pebble merchant

Define process, Define Process Process is a program in execution; proc...

Define Process Process is a program in execution; process execution should progress in sequential fashion. A process involves: a) Program counter  b) Stack c) Data se

What is fork swap, What is Fork swap? "Fork ()" is a system call to mak...

What is Fork swap? "Fork ()" is a system call to make a child process. When the parent process calls "fork()" system call, the child process is formed and if there is short of

What is internet routing hierarchy, Q. What is Internet Routing Hierarchy? ...

Q. What is Internet Routing Hierarchy? So how do packets find their way across Internet? Does every computer connected to Internet know where other computers are? Do packets ba

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