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

C programming, write a program to find the area under the curve y=f(x) betw...

write a program to find the area under the curve y=f(x) between x=a and x=b,integrate y=f(x) between the limits a and b

What is gui status, What is GUI status? How to create /Edit GUI status? ...

What is GUI status? How to create /Edit GUI status? A GUI status is a subset of the interface elements used for a certain screen. The status comprises those elements that are c

Selection - artificial intelligence, Selection - artificial intelligence: ...

Selection - artificial intelligence: However the first step is to choose the individuals that will have a shot at becoming the parents of the next generation. Hence this is kn

Define top-down parsing techniques, Define Top-down parsing Techniques ...

Define Top-down parsing Techniques Top-down parsing can be observed as an attempt to find left-most derivations of an input-stream through searching for parse trees using a top

Variables and quantifiers for first-order models , Variables and Quantifier...

Variables and Quantifiers for First-order models -artificial intelligence: So what do sentences containing variables mean? In other words, how does first order model select whe

Find the nyquist rate, Find the Nyquist rate for the following signals: (a)...

Find the Nyquist rate for the following signals: (a) x(t) = 5 sin 3000πt cos 4000πt (b) A binary channel with bit rate 36000 bps is available for PCM voice transmission. Fi

Explain bottom up parsing, Explain Bottom up parsing. Bottom up pars...

Explain Bottom up parsing. Bottom up parsing: This parse attempts to increase syntax tree for an input string by a sequence of reduction. If the input string can be decreas

Illustrate abstract class, What is an abstract class? Please, expand by exa...

What is an abstract class? Please, expand by examples of using both. Explain why?   Abstract classes are closely related to interfaces. They are classes that cannot be instanti

#dbms., #example of cascading rollback#

#example of cascading rollback#

Smli firewalls are different from the conventional, SMLI firewalls are diff...

SMLI firewalls are different from the conventional The SMLI firewalls are different from the conventional "stand in" proxies in a way that the stand-in proxies are used for th

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