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

Define the term electronic cheques in briefly, Define the term Electronic C...

Define the term Electronic Cheques in briefly. The other mechanism for Internet payment is electronic cheques. Along with electronic cheques, there payer (either a business or

Working of read-only memory, Q. Working of Read-Only Memory? A ROM is f...

Q. Working of Read-Only Memory? A ROM is fundamentally a memory or storage device in which a fixed set of binary information is stored. A block diagram of ROM is as displayed i

Define com programs, Q. Define COM Programs? A COM (Command) program is...

Q. Define COM Programs? A COM (Command) program is binary image of a machine language program. It is loaded in memory at the lowest available segment address. Program code star

Write a subroutine in c which toggles the cursor, Q . Write a subroutine in...

Q . Write a subroutine in C which toggles the cursor? Write a subroutine in C which toggles the cursor. It takes one argument which toggles the value between on (1) and off (0)

Benefits of having densely packed integrated circuits, What are benefits of...

What are benefits of having densely packed Integrated Circuits? These are stated below: Reliability: The integrated circuit interconnections are in fact more reliable

Explain about com add-ins, COM add-ins are software program's which are inc...

COM add-ins are software program's which are included into an application and they add already built in features to an existing application. They have general architecture across m

What is selective complement - logic micro operations, SELECTIVE COMPLEMEN...

SELECTIVE COMPLEMENT The selective-complement process complements bits in register A where there are corresponding 1's inside register B. It does not affect bit positions which

State and prove any one of the demorgen''s laws, Q. F(x,y,z) = ∑m (4,6,7,8...

Q. F(x,y,z) = ∑m (4,6,7,8)+ ∑d (2,5,11,12) Using K-Map. Q. State and prove any one of the DeMorgen's Laws. Show that these theorems can be extended up to any number of variabl

Explain 100 line exchange with selector finder, Explain 100 line exchange w...

Explain 100 line exchange with selector finder. Design: In place of 100 two-motion selectors as in the case of Design 3, suppose we consider only 24 two-motion selectors. Whe

C-programing, c-program for the minimum total number of shelves

c-program for the minimum total number of shelves

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