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

Computers, Purpose: Front line client service. Make bookings for vehicle se...

Purpose: Front line client service. Make bookings for vehicle servicing, accesses client database, prints invoices for clients etc. The mechanics complete worksheets for the variou

Analysis of website, In this part you are required to review and critique a...

In this part you are required to review and critique a website of a café or a restaurant of your choice. Your report should be a minimum 500 words with a maximum of 1000 words. You

Show the layout of dvorak-dealey keyboard, Q. Show the layout of Dvorak-Dea...

Q. Show the layout of Dvorak-Dealey keyboard? This was one keyboard layout designed to be a challenger to QWERTY layout. This was designed by August Dvorak and William Dealey a

Explain the working of a 3-bit D/A converter, With the help of R-2R binary ...

With the help of R-2R binary network, explain the working of a 3-bit D/A converter and derive an expression for the output voltage. Ans: We see a 3-bit R-2R ladder D/A netwo

How do you turn off cookies for one page in your site, How do you turn off ...

How do you turn off cookies for one page in your site?  Use the Cookie. Discard Property which Gets or sets the discard flag set by the server. When true, this property initiat

Address phase - computer architecture, Address phase: A PCI bus transa...

Address phase: A PCI bus transaction starts having an address phase. The initiator,  after seeing that it has GNT# and the bus is inactive, drives the target address onto the

What is public-key infrastructures, a. What are the differences among conve...

a. What are the differences among conventional signatures and digital signatures? Write a short note on "Attacks on digital signature". b. What is Public-Key Infrastructures

Which method is used for resolving data dependency, Which method is used fo...

Which method is used for resolving data dependency conflict by the compiler itself?  (A) Delayed load.   (B) operand forwarding.   (C) Pre fetch target instruction.  (D) loo

Op code mnemonics in assembly language, Op code mnemonics: Instruction...

Op code mnemonics: Instructions  (statements)  in  assembly  language  are  usually  very  simple,  unlike  those that in  high-level languages. Usually, an opcode is a symbol

Development tools environment , Main Objectives: • MPLAB In-Circuit Debugg...

Main Objectives: • MPLAB In-Circuit Debugger (ICD 2) functionality • ICD 2 Connection design • MPLAB ICD 2 setup with the PC and Interface board designed • I²C Protocol buses tech

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