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 the difference between int main and void main in c?
What is variables in c?
How to write a program for machine which is connected with server for that server automatically wants to catch the time for user of that machine?
What is a memory leak? How to avoid it?
How we add our function in liabrary as liabrary function. Exp. we want use our int factorical(int); function as int pow(int,int); function working in math header file.
What is signed and unsigned?
how to find sum of digits in C?
Explain the bubble sort algorithm.
A C E G H +B D F A I ------------ E F G H D
void main() { int s[4][2]={ {1234,56},{1212,33},{1434,80},{1312,78} }; int (*p)[2]; int i,j,*pint; for(i=0;i<=3;i++) { p=&s[i]; pint=p; printf("\n"); for(j=0;j<=1;j++) printf("%d",*(pint+j)); } } while running this program it shows a warning-suspicious pointer conversion ie pint=p; my que is why should we assign the value of p to pint again.why cant we use it directly as *(p+j)..but if i use like tat the o/p is garbage value..
What is use of integral promotions in c?
Write a C program in Fibonacci series.