1.what are local and global variables?
2.what is the scope of static variables?
3.what is the difference between static and global variables?
4.what are volatile variables?
5.what is the use of 'auto' keyword?
6.how do we make a global variable accessible across files?
Explain the extern keyword?
7.what is a function prototype?
8.what does keyword 'extern' mean in a function declaration?
Answers were Sorted based on User's Feedback
Answer / vignesh1988i
LOCAL variables:
these variables are also called as auto variables....
this will be having life only inside a particular block.
for ex:
int i=45;
{
i=34;
printf("%d",i);
}
printf("%d",i);
here the output will be for 1st printf it will be 34 & for
second will be 45. since 34 is local to that block of
coding.. after it comes out it dies. the default value is
garbage value.
GLOBAL variables:
these are those variables which will have life
until the program ends.... the scope will be throught....
it must be declared outside the first executable
statement... the default value is 0;. but when it comes to
prority wise local only will get the first place.......
for ex:
int i=21;
void main()
{
int i=99;
{
printf("%d",i);
}
printf("%d",i);
printf("%d",i);
}
the output will be for 1st printf it will print as 99.. for
second also 99 since local variable gets the first
prority.... then the last printf will print 21.
STATIC variables:
the scope of the static variables is with in the
particular block of code. for ex:
main()
{
for(static int i=0;i<3;)
i++;
i=34;
printf("%d",i);
}
this wont print 'i' as 34... this will give an error that
UNDEFINED SYMBOL 'i'. since when 'i' comes out this will
dies... this 'i' cant be referred by the compailer.. but
this will work when we do it in other way::
void main()
{
static int i=0;
for(;i<3;)
i++;
i=34;
printf("%d",i);
}
this will print i=34..... since we have defined as
static inside main block.... instead of FOR block ... till
main block prevails this i wont die..... so i=34 prints.
STATIC GLOBAL
1)this must be declared must be declared outside
inside the main function only main only
2)this is one time but here it will take the
initilization... last initilization
3)this is local to a block this has life til the
coding ends
AUTO:
this is as equal as local variables..... as mentioned for
local variables above
EXTERN:
this is declaration for global variable.. this can also be
declared as:
extern int i;
main()
{
----
---
}
FUNCTION PROTOTYPE:
this says a outer layer of , how the function definition of
the above prototype lies......
Is This Answer Correct ? | 7 Yes | 1 No |
Answer / rajan
Explain the out put
#include<stdio.h>
extern int i;
main()
{
printf("%d",i);
}
#include<stdio.h>
extern int i;
main()
{
printf("%d",i);
}
Is This Answer Correct ? | 0 Yes | 0 No |
program for following output using for loop? 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
How to add two numbers without using arithmetic operators?
18 Answers College School Exams Tests, e track, Infosys, Pan Parag, Sapient, TCS,
What is pointer in c?
struct node {struct node*temp,*new} prinf("%d",sizeof(struct node));
Why the below program throughs error during compilation? #include<stdio.h> #include<conio.h> enum { ZERO, ONE, TWO, }; main() { printf("%d",&TWO); getch(); }
Why c is called procedure oriented language?
How can a number be converted to a string?
What is the difference between char a[] = "string"; and char *p = "string"; ?
14 Answers Adobe, Honeywell, TCS,
diff .between strcture and union
What is oops c?
void main() { int a[]={1,2,3,4,5},i; for(i=0;i<5;i++) printf("%d",a++); getch(); }
Write a program to compare two strings without using the strcmp() function
42 Answers Accenture, Arba Minch University,