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

Operating system, what is batch system?how the disadvantage of batch system...

what is batch system?how the disadvantage of batch system are overcome in multi-programming operating system?also describe how multi-programmed operating system is milestone in dev

What are the engineering applications in parallel computing, Engineering Ap...

Engineering Applications A number of the engineering applications are: 1. Simulations of artificial ecosystems  2. Airflow circulation over aircraft components Airflow

What are superscalar processors, What are superscalar processors? Sever...

What are superscalar processors? Several instructions start implementation in the same clock cycle, and the processor is said to use multiple issue. Such processors are capable

What are the advantages of using structure in c program, What are the advan...

What are the advantages of using structure in C Program Declaring a struct is a two-stage process. The first stage defines a new data type that has the required structure which

What is busy hour traffic, Busy hour traffic is the (A)  maximum avera...

Busy hour traffic is the (A)  maximum average simultaneous traffic. (B)  traffic during peak hour. (C)  traffic when all subscribers are engaged. (D)  the durat

How a physical addressing is performed in wan, How physical addressing is p...

How physical addressing is performed in WAN? WAN networks operate as similar to a LAN. All WAN technology classifies the exact frame format a computer uses while sending and re

Explain working of d flip -flop, Q. Explain working of D Flip -Flop? D ...

Q. Explain working of D Flip -Flop? D (data) flip-flop is modification of RS flip-flop. Problem of undefined output in SR flip-flop when both R and S become 1 gets avoided in D

Queue, A Queue is a FIFO ( rst in, rst out) data structure. Given the foll...

A Queue is a FIFO ( rst in, rst out) data structure. Given the following queue interface: public interface Queue { int size(); // current queue size boolean isEmpty(); //

Explain about instruction register and flags, Q. Explain about Instruction ...

Q. Explain about Instruction Register and Flags? The Instruction Register: It comprises the operation code (opcode) and addressing mode bits of the instruction. It assists in

Computer systems architecture, Assume that you are working in a software co...

Assume that you are working in a software company as a programmer and a bank is your company's client. The Bank is a most popular and one of the leading banks in Malaysia. Your

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