Professional Documents
Culture Documents
Storage Classes - Datatype Variable - Name - Int A Int B 10
Storage Classes - Datatype Variable - Name - Int A Int B 10
}
main()
{
auto int a=10;
{
auto int a=20;
printf(“%d”, a);
}
main()
{
auto int a=10;
{
auto int a=20;
printf(“%d”, a);
}
printf(“%d”, a);
}
main()
{
auto int i=1;
{
{
{
printf(“%d”,i);
}
printf(“%d”,i);
}
printf(“%d”,i);
}
}
main()
{
auto int i=1;
{
auto int i=2;
{
auto int i=3;
printf(“%d”,i);
}
printf(“%d”,i);
}
printf(“%d”,i);
}
main()
{
auto int a=10;
{
auto int a;
printf(“%d”, a);
}
printf(“%d”, a);
}
main()
{
increment();
Increment();
Increment();
}
Increment()
{
auto int i=1;
Printf(“%d”,i);
i=i+1;
}
Register Storage Class
Keyword : register
Storage : CPU Register
Default initial value : garbage value
Scope :local to the block in
which the variable
is defined.
Life time :Till end of the Block
CPU REGISTER AND MEMORY
void staticDemo()
{
static int i; Output: 1 0
{ 2 1
static int i = 1;
printf("%d ", i);
i++;
}
printf("%d\n", i);
i++;
}
int main()
{
staticDemo();
staticDemo();
}
#include <stdio.h>
int main()
{
static int i=5;
if(--i){
main();
printf("%d ",i);
}
}
• Output< 0 0 0 0
#include <stdio.h>
int main()
{
static int i=5;
if (--i){
printf("%d ",i);
main();
}
}
• Output< 4 3 2 1
#include <stdio.h>
int main()
{
int x = 10;
static int y = x;
if(x == y)
printf("Equal");
else if(x > y)
printf("Greater");
else
printf("Less");
return 0;
}
• In C, static variables can only be initialized
using constant literals. This is allowed in C++
though.
include <stdio.h>
int main()
{
static int count=5;
printf("\n count=%d",count--);
if(count!=0)
main();
return 0;
}
• 54321
#include <stdio.h>
int g(int);
int main()
{
int i,j;
for(i=1;i<5;i++)
{ j=g(i);
printf("%d",j);
}
return 0;
}
int g(int x)
{ static int v=1;
int b=3;
v=v+x;
return(v+x+b);
}