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

Python, When investing money, an important concept to know is compound inte...

When investing money, an important concept to know is compound interest. The equation FV = PV (1+rate)periods . This relates the following four quantities. The present value (PV)

What are program-invisible registers, What are program-invisible registers?...

What are program-invisible registers? Ans: the local and global descriptor tables are found in the memory system. To access and specify the address of these tables, program inv

Define the firewall design policy, Define the Firewall Design Policy ...

Define the Firewall Design Policy A lower-level policy that describes how the firewall will handle prevention of access and filtering of services as defined in the above net

What is binary search, Binary Search: Search a sorted array by repeatedly i...

Binary Search: Search a sorted array by repeatedly in-between the search interval in half. Start with an interval covering the entire array. If the value of the search key is less

Challenges in changing information technology, Q: Challenges and Prospects ...

Q: Challenges and Prospects in Changing Information Technology? There is no doubt that information technology has made significant progress during the past two decades. Modern

Explain about physical model, Explain about Physical model The Physical...

Explain about Physical model The Physical model describes concrete software and hardware components of system's context or implementation.

Difference between data warehousing and data mining, Difference between dat...

Difference between data warehousing and data mining The difference between data warehousing and data mining is that data warehousing shows to the data storage while data mining

Explain a macro, Explain a macro Macro is a preprocessor directive, als...

Explain a macro Macro is a preprocessor directive, also called as macro definition takes the following general form:  #define identifier string

what is code for adding two integers in java?, import java.util.Scanner;  ...

import java.util.Scanner;   class AddNumbers {    public static void main(String args[])    {       int x, y, z;       System.out.println("Enter two integers to calculate their sum

K-nearest neighbor for text classification, Assignment 2: K-nearest neighbo...

Assignment 2: K-nearest neighbor for text classification. The goal of text classification is to identify the topic for a piece of text (news article, web-blog, etc.). Text clas

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