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

Explain sr latch with nand gate, Explain SR Latch with NAND Gate? SR La...

Explain SR Latch with NAND Gate? SR Latch has two useful states: Set state, when output Q=1 and Q'=0. Reset state, when output Q=0 and Q'=1.Output Qand Q' are normally

Classifier with classes, Consider one versus the rest voting used for class...

Consider one versus the rest voting used for classifier with three classes {a, b, c}. Given a row of data denoted as x0 suppose that the classifier for a versus the rest predicts t

Logical database reads the data from the database, Is it true that the Logi...

Is it true that the Logical Database reads the data from the database tables using Select Statements. Yes. We are coding that in Database part of LDB.

What is the function of the correction system, What is the function of the ...

What is the function of the correction system? The correction system handles changes to internal system components. Like as objects of the ABAP/4 Dictionary.

Performance equation of computer system, Performance Equation of computer s...

Performance Equation of computer system: Following equation is frequently used for expressing a computer's performance ability: The CISC approach tries to minimize the

What is clipboard, Clipboard is a temporary storage location in Windows. Th...

Clipboard is a temporary storage location in Windows. The clipart will kept one piece of information at a time when it is manually added to the clipart or is copied there.

Mpi communications, We have to use 3 MPI communications: Plz the code in C+...

We have to use 3 MPI communications: Plz the code in C++     1.  MPI_Scatter 2.  MPI_Alltoall 3.  MPI_Gather     **The length of the array will be determined by the user Fir

Design a logic circuit, Ask questDesign a logic circuit with 4 inputs A, B,...

Ask questDesign a logic circuit with 4 inputs A, B, C & D that will produce output ‘1’ only whenever two adjacent input variables are 1’s. A & D are also to be treated as adjacent,

Describe the assume - assembler directives, Describe the Assume - Assembler...

Describe the Assume - Assembler directives ASSUME: This directive would be used to map the segment register names with memory addresses.  Syntax is as below: ASSUME SS:

Write truth table of combinational circuit, A combinational circuit has 3 i...

A combinational circuit has 3 inputs A, B, C and output F.  F is true for following input combinations A is False, B is True A is False, C is True A, B, C are

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