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

What is virtual memory, What is virtual memory? Virtual memory is a met...

What is virtual memory? Virtual memory is a method used in some large computer systems that allow the user to construct program as by a large memory space were available, equal

What is program controlled i/o, What is program controlled I/O? In prog...

What is program controlled I/O? In program controlled I/O the processor repeatedly checks a status flag to achieve the needed synchronization among the processor and an input a

What is one-way association, What is one-way association? One-way assoc...

What is one-way association? One-way association means association will traverse in only in one direction and implement using the actual implementation. If the multiplicity is

Determining the error models that affect program execution, In critical com...

In critical computer applications the correctness of a delivered output and the continuity of the required service beside the speed of the used CPU are the most important measures

Corresponding port numbers, A) Around how many entries are there in this fi...

A) Around how many entries are there in this file on your VM? B) Select and list names and corresponding port numbers for four well-liked services listed in this file?

State the term- use a define function, State the term- Use a define functio...

State the term- Use a define function This is almost exactly the same approach as #define and -D compiler arg that C programs use. In your  Verilog  code,  use  a  'define  to

Describe thead, Q. Describe THEAD, TBODY and TFOOT tag? THEAD, TBODY, ...

Q. Describe THEAD, TBODY and TFOOT tag? THEAD, TBODY, TFOOT , , and form groups of rows. specifies that a group of rows are heade

Dynamic memory allocation function, Name the dynamic memory allocation func...

Name the dynamic memory allocation function? Three dynamic memory allocation functions are: a) malloc, b) calloc and c) free.

General purpose register - assembly language, General purpose register - as...

General purpose register - assembly language: Basic ISA Classes: Accumulator: 1 address add Aacc ←acc + mem [A] Stack: 0 address add to s ←to s+ next G

How can we write an interrupt servicing routine, Q. How can we write an Int...

Q. How can we write an Interrupt Servicing Routine? The following are the fundamentalthough rigid sequence of steps: 1.  Save the system context (flags,registers etc. which

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