what is the diff b/w static and non static variables in C.
Give some examples plz.
Answer Posted / 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 |
Post New Answer View All Answers
How can I send mail from within a c program?
What is void main () in c?
Why should I prototype a function?
A collection of data with a given structure for excepting storing and providing on demand data for multiple users a) linked list b) datastructer c) database d) preprocessor
Is it better to use malloc() or calloc()?
what is reason of your company position's in india no. 1.
When should the volatile modifier be used?
any function have arguments one or more OR not . it is compulsary a) any function compulsary have one or more arguments b) any function did not have arguments. It is not compulsary c) it is optional it is not compulsary d) none of the above
Why is c used in embedded systems?
a character or group of characters that defines a register,or a part of storage a) memory b) byte c) address d) linear list
How can I do graphics in c?
How do you sort filenames in a directory?
How to set file pointer to beginning c?
Can one function call another?
What is the main difference between calloc () and malloc ()?