answersLogoWhite

0

definition defines the memory area ( allocates the memory ) for the variable and the declaration tells about the signature of the variable ( type and size to be considered). definition occures once through the program( memory is allocated once ), but the declaration can occur many times.

OR For a variable, the definition is the statement that actually allocates memory. For example, the statement:

long int var;

is a definition. On the other hand, an extern reference to the same variable:

extern long int var;

is a declaration, since this statement doesn't cause any memory to be allocated. Here's another example of a declaration:

typedef MyType short;

Second Answer

Declaration can come only once and definition can come many times in the program.

Let's take an example,

Line 1: #include

Line 2:

Line 3: void main()

Line 4: {

Line 5: int x; //declaration

Line 6:

Line 7: x=10; //definition

Line 8: }

In the above program, on the line 5 what appears is declaration and on line 7 the definition is there.

Now if we declare the variable x again in the program we will get the error saying that the variable is already declared.

Whereas if we assign some new value to variable x, say 20

i.e.

x=20;

this is totally fine and we can assign any number of values in the same program. This means that the declaration is only one throughout the program but definitions can be many.

User Avatar

Wiki User

14y ago

Still curious? Ask our experts.

Chat with our AI personalities

ReneRene
Change my mind. I dare you.
Chat with Rene
DevinDevin
I've poured enough drinks to know that people don't always want advice—they just want to talk.
Chat with Devin
RafaRafa
There's no fun in playing it safe. Why not try something a little unhinged?
Chat with Rafa

Add your answer:

Earn +20 pts
Q: Difference between the definition and declaration of a variable in c?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Math & Arithmetic

Difference between declaring a variable and definition a variable?

Declaration is a promise: 'I will define (or has defined) this variable/function somewhere else'.


What is the difference between declaring variable and initializing variables?

Actually, there is a third step, call definition. Declaration is a statement to the compiler of what type an identifier is, definition is the allocation of memory for that identifier, and initialization is the assignment of an initial value to that identifier. Usually, declaration and definition are done together, but you can also add initialization in that step if desired. int a; /* declaration and definition */ a = 1; /* initialization */ int a = 1; /* declaration, definition, and initialization */ For the case of seperate declaration and definition, consider the struct... struct _mystruct { int a; }; /*declaration */ struct _mystruct mystruct; /* definition */ struct _mystruct { int a; } mystruct; /*declaration and definition */ Note: To be more precise: struct _mystruct; /* struct declaration */ struct _mystruct { int a; }; /* struct definition */ typedef struct _mystruct MYTYPE; /* type definition */ extern struct _mystruct mystructvar; /* variable declaration */ struct _mystruct mystructvar; /* variable definition */ struct _mystruct mystructvar = {7} ; /* variable definition with initialization */ struct _mystruct { int a; } mystruct; /* struct definition and variable definition */ extern struct _mystruct { int a; } mystruct; /* struct definition and variable declaration */


Deifference between declaration and definition?

Declaring a variable or function reserves an entry in a symbol table for that function or variable (entries in a symbol table eventually become memory addresses during linkage). Defining a variable or function actually specifies the value to be stored in the memory location specified and/or the code that should be compiled. Examples: Declaration: int foo(); // Declares a function. int bar; // Declares a variable. Definition: int foo() { printf("Hello World"); } bar = 5; Declaration and definition: int bar = 5;


Difference between variable resistor and rheostat?

The difference between a variable resistor and a rheostat is the same as the difference between six and half a dozen.


What is one difference between a variable expression and a numerical expression?

The variable.