what is the difference between declaration and definition
of a variable or function ?
Answers were Sorted based on User's Feedback
Answer / suman_kotte
declares a function, but that does not define it.
declaration describes whether the function consist
arguments or not and also it will return a value or not.
definition must be as per the function declaration that was
declared rearlier.it will for the out put of that function.
ex;
main()
{
int a=1,b=2;
void sum(int , int );//declaration
sum(a,b);
}
void sum(int x, int y)//definition
{
printf("%d",x+y);
}
| Is This Answer Correct ? | 8 Yes | 0 No |
Answer / michael scofield
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;
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / ashu_deepu
i will like to add 1 thing abt d variabes.
declaring a variable means
int deepu; //it is declaration
defining means assigning value to the variable.
eg: int deepu=2018; //it is definition
| Is This Answer Correct ? | 4 Yes | 5 No |
What is 02d in c?
How do you convert strings to numbers in C?
Differentiate call by value and call by reference?
write a program to find out prime number using sieve case?
What is the difference between %d and %i?
What are the complete rules for header file searching?
What is a built-in function in C?
In which area global, external variables are stored?
Why c is faster than c++?
Why is c so important?
What is extern storage class in c?
void main() { int i=5; printf("%d",i+++++i); }