what is the diff b/w static and non static variables in C.
Give some examples plz.
Answers were Sorted based on User's Feedback
Answer / anil kumar
Static variables are used for internal contextual
communication purpose.
non static variables are not used for contextual
communication
for that please go through the below code:
static int i=10;
int main()
{
int x=20;
Printf(“%d %d”,x, i);
Fun();
return 0;
}
Void Fun()
{
Printf(“%d”, i);
}
In the above code “i” is the static variable and “x “is the
local variable
Is This Answer Correct ? | 22 Yes | 7 No |
Answer / parth ujenia
main()
{
int i=5;
while(i!=0)
{
printf("%d",i--);
main();
}
getch();
}
output: 54321
Is This Answer Correct ? | 7 Yes | 1 No |
Answer / vignesh1988i
when we have declared a variable as static...... we cant
initilize it again....... the meaning of static storage
class is for only one time initilization.... whenever the
compailer come accross the same static keyword ,... the
present value in that variable will get printed as the
compailer ignores the line static.........
eg:::::
#include<stdio.h>
#include<conio.h>
void main()
{
for(int i=0;i<3;i++)
{
static int p=1;
printf("%d ",p);
p++;
}
output will be:: 1 2 3
since the compailer ignores the static int p=1 after it
initilizs once...... and one more thing.. when we refer
variable p after the loop structure it will give an error
that::: "UNDEFINED SYMBOL 'P'" ,because the scope of this
static is only under the block and not ourtside.....
non static :: it is called as automatic storage class.... in
programs we would have given as;;
int a; or char sd; etc...
these inside the compailer treated as automatic storage
class..... the scope of this storage class is only undere
the block... after comming out it dies......
eg:::::::
#include<stdio.h>
#include<conio.h>
void main()
{
int a=12;
{
a=90;
printf("%d",a);
}
printf("%d",a);
}
the output will be::::::: 90 12.... because of the above
mentioned scope.....
i think you can clearely understand the concept....... if
you didnt understand ... send mail to me.. we can
discuss.... softvig_88@yahoo.com...
thank you
Is This Answer Correct ? | 6 Yes | 4 No |
What is variable and explain rules to declare variable in c?
What is a macro, and explain how do you use it?
What does the format %10.2 mean when included in a printf statement?
Difference between malloc() and calloc() function?
What is a 'null pointer assignment' error?
Explain what is #line used for?
What is cohesion in c?
can please someone teach me how to create this program using while statement.. this is the output should look like 0 2 4 6 8 10 -thanks.. :) need it asap...
Write a program to find the smallest and largest element in a given array in c language
What is realloc in c?
write a program to interchange the value between two variable without using loop
Write a program to reverse a string.
0 Answers Global Logic, iNautix, TCS, Wipro,