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

Show division and multiplication operation, Q. Show Division and multiplica...

Q. Show Division and multiplication operation? These operations can be represented as x + y = (N x   × 2 Ex-Ey + N y ) × 2 Ey and x-y = (N x × 2 Ex-Ey -N y ) × 2 Ey

Define hyperlinks, Q. Define Hyperlinks? Hyperlinks, or links are one o...

Q. Define Hyperlinks? Hyperlinks, or links are one of the most significant characteristics of web pages. A link moves us from current page to a destination which is specified i

Functions for message passing, Functions for Message Passing: MPI proc...

Functions for Message Passing: MPI processes don't share memory space and one process can't directly access other process's variables. Therefore they need some form of communi

Determine the quivalence partitioning, Determine the quivalence Partitionin...

Determine the quivalence Partitioning? The division of domain data into dissimilar equivalence data classes is performed using Equivalence Partitioning. It is executed for redu

What is expansion swap, What is Expansion swap? At the time when any pr...

What is Expansion swap? At the time when any process needs more memory than it is currently allocated, the Kernel performs Expansion swap. To do this Kernel reserves enough spa

Scope of supply chain management consultancy, What are included in scope of...

What are included in scope of Supply Chain Management Consultancy? Supply Chain Management Consultancy's scope is extensive, and classically includes as given here: a. Sales

Draw a neat labelled diagram of the osi reference model, Draw a neat labell...

Draw a neat labelled diagram of the OSI reference model for computer networks showing all the layers and the communication subnet boundary. The computer network consists of all

Difference between search and search all, SEARCH is a sequential search fro...

SEARCH is a sequential search from the starting of the table. SEARCH ALL is a binary search, continually dividing the table in two halves until a match is found. SEARCH ALL is more

Let most segment of a name in dns represents, Let most segment of a name in...

Let most segment of a name in DNS represents? Lest Most segment of a name in DNS shows: Individual computer.

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