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

Network, Give an intuitive explanation of why the maximum throughput, for s...

Give an intuitive explanation of why the maximum throughput, for small beta, is approximately the same for CSMA slotted Aloha and FCFS splitting with CSMA. Show the optimal expecte

Default communicator in mpi, Problem 1 (a) What is the difference betw...

Problem 1 (a) What is the difference between an MPI blocking send function and an MPI non-blocking send function? (b) What is a communicator in MPI? (c) Name correctly

Explain about the acoustic tablet, Explain about the Acoustic tablet Ac...

Explain about the Acoustic tablet Acoustic (or sonic) tablet use sound waves to detect a stylus position. Either strip microphones or point microphones can be used to detect th

What is multiple interrupt lines, Q. What is Multiple Interrupt Lines? ...

Q. What is Multiple Interrupt Lines? Multiple Interrupt Lines: Simplest solution to problems above is to provide multiple interrupt lines that will result in immediate recognit

Differentiate between http and ftp, Differentiate between http and ftp. ...

Differentiate between http and ftp. HTTP and FTP were developed to make Internet transmission better. FTP is utilized to exchange files among computer accounts, to transfer

What is the function of an ip packet screening router, What is the function...

What is the function of an IP packet screening Router? Explain with the help of a diagram. Function of an IP Packet Screening Router: A screening router is the most fund

What a header script can specify in cgi, A header in CGI script can specify...

A header in CGI script can specify? A header into CGI script can give format of document and New location of perticular the document.

Multi-threaded concurrency programming with threads, Your task is to implem...

Your task is to implement a memory manager that manages page reads and writes from multiple client threads. In the first programming task the memory manager keeps all the pages in

Explain what logic gets synthesized , What logic gets synthesized when I us...

What logic gets synthesized when I use an integer instead of a reg variable as a storage element? Is use of integer recommended? An  integer  can  take  place  of  a  reg  as

Problem context and specification, Problem Context and Specification : ...

Problem Context and Specification : However the development of Inductive Logic Programming has been heavily formal in mathematical in nature it means the major people in the f

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