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

Which techniques are utilized to gain on the number pairs, Which techniques...

Which techniques are utilized to gain on the number pairs and also explain how it helps in connecting number of subscribers. In rural areas, subscribers are usually dispersed.

Define the internal users of system, Q. Define the Internal Users of system...

Q. Define the Internal Users of system? Internal Users are employees of business for that an information system is built. Illustration are clerical and service staff, technic

Java program , Q.--> The program simulates a student management system havi...

Q.--> The program simulates a student management system having thE following:The interface uses command buttons to (i) add,edit,delete,update and cancel the records, (ii) to naviga

Convert statement into conjunctive normal form , Consider the following sta...

Consider the following statements about the types of fruit people like. If people like apples, then they do not like oranges. If people do not like apples, then they like orang

Poor technology or system requirements definition, Poor Technology or Syste...

Poor Technology or System Requirements Definition - Information System Previously we looked at product design and specifically the importance of requirements capture as part o

Explain about candidate check, The process which is underlined throughout t...

The process which is underlined throughout the check of base data is called as candidate check. When performing candidate check performance varies either towards the positive side

Describe the features of electronic banking, Question 1: The Banking Ac...

Question 1: The Banking Act provides for banking services through interactive electronic systems. (a) Describe the features of electronic banking. (b) Show the responsibi

Vliw architecture, Vliw Architecture Superscalar architecture was desig...

Vliw Architecture Superscalar architecture was designed to develop the speed of the scalar processor. But it has been realized that it is not easy to execute as we discussed pr

Define swapping, Define swapping.  A process needs to be in memory to b...

Define swapping.  A process needs to be in memory to be implemented. Though a process can be swapped temporarily out of memory to a backing store and then brought back into mem

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