Professional Documents
Culture Documents
✔ Keyword
✔ Where it is Declared
✔ Storage Area
✔ Default Initial value
✔ Lifetime of a
variable
1. Local or Auto or Internal variable
2. External or Global variable
3. Static variable
4. Register Variable
Auto variable are always declared #include<stdio.h>
void function1();
within a function and they are
void function2();
local to the function in which they void main()
are declared. Hence they are also {
int m=1000;
named as local variables
function2();
printf("%d\n",m);
Keyword : auto }
Declaration : Inside the function
void function1()
Storage Area : Stack {
Initial Value : Garbage value int m=10;
(At the time of compilation printf("%d\n",m);
}
compiler assigns any value)
Lifetime : Upto that function only void function2()
{
int m=100;
Example :
function1();
auto int x; (or) int x; printf("%d\n",m);
}
A variable which can be access #include<stdio.h>
with in a function and outside the int k;
main function. These variables are void function1();
also named as Global variables or void function2();
void function3();
External variables
void main()
Keyword : extern {
Declaration : Outside of the main() k=20;
function1();
function
function2();
Storage Area : CPU–memory function3();
Initial Value : zero }
void function1() {
Lifetime : Upto the entire program k=k+10;
Example : printf("%d\n",k); }
void function2()
int x; (or) {
main() main() k=k+1000;
printf("%d\n",k);
{ { extern int x; }
} } void function3()
{
k=k+10;
printf("%d\n",k); }
This variable static is constant and /* To print the value of x */
the value is continued in all the #include<stdio.h>
steps. void stat();
Keyword : static void main()
{
Declaration : Inside the function
int i;
Storage Area : CPU – memory for(i=1;i<=5;i++)
Initial Value : Zero stat(); //calling
}
Lifetime : The value of the variable
void stat() //definition
persists between different function {
calls. static int x=0;
Example : printf("x=%d\n",x);
x=x+1;
static int x; }
0
1
2
3
4
5
/* Example 2 */
#include<stdio.h>
#include<conio.h>
void incre(); /* Function prototype
declaration */
void main()
{
clrscr();
incre();
incre();
incre();
getch(); The character Stored in x is A
} The character Stored in x is B
The character Stored in x is C
void incre()
{
static char x=65;
printf("\n The character stored in x
is %c",x++);
}
These variables are stored in CPU #include<stdio.h>
registers and hence they can be #include<conio.h>
void main()
accessed faster than the one which is
{
stored in memory. register int x;
Keyword : register clrscr();
Declaration : Inside the function printf("\n The value is %d",x);
Storage Area : CPU - Register getch();
Initial Value : Garbage value(At the time }
of compilation compiler assigns any
value)
Lifetime : Upto that function only
Example : register int x;
Note : -899
register double x; register float y;
(Garbage Value)
Registers are usually a 16bit therefore it
cannot hold a float or double data type value
which require 52 & 64 bytes respectively for
storing a value. But the compiler would treat
CSC COMPUTER EDUCATION,
as automatic variables
M.K.B.NAGAR
Functions communicate with each
other by passing arguments.
It can be passed in Two Ways
1.Call By Value
2. Call by Reference
Passing
Parameters
Call by value
Call by reference
✔ The values are passed through temporary
variables. Any manipulation to be done only
on these temporary variables.
🖎Three steps in using a function are defining a function, prviding a prototype and calling
the function.
🖎 Return statement is used to return the information from the function to the calling
🖎 Scope of a variable is defined as the region over which the variable is visible or valid.
EXERCISES
3. Write a program to check whether the year is leap year or not using functions?
4. Write a program to find the square of first N Numbers and to calculate its sum?
int main()
{
printf("Directory = %s\n", getenv("DIR"));
return 0;
}
OUTPUT:
/usr/bin/test/
EXAMPLE PROGRAM FOR SETENV()
FUNCTION IN C:
This function sets the value for
environment variable.
Let us assume that environment variable
“FILE” is to be assigned
“/usr/bin/example.c”. Below program will
show you how to set this value using
setenv() function.
#include <stdio.h>
#include <stdlib.h>
int main()
{
setenv("FILE","/usr/bin/example.c",50);
printf("File = %s\n", getenv("FILE"));
return 0;
}
OUTPUT:
File = /usr/bin/example.c
EXAMPLE PROGRAM FOR PUTENV() FUNCTION IN C:
This function modifies the value of environment variable.
Below example program shows that how to modify an existing
environment variable value.
#include <stdio.h>
#include <stdlib.h>
int main()
{
setenv("DIR","/usr/bin/example/",50);
printf("Directory name before modifying = " \
"%s\n", getenv("DIR"));
putenv("DIR=/usr/home/");
printf("Directory name after modifying = " \
"%s\n", getenv("DIR"));
return 0;
}
OUTPUT:
Directory name before modifying = /usr/bin/example/
Directory name after modifying = /usr/home/
EXAMPLE PROGRAM FOR RAND()
FUNCTION IN C:
This function returns the random integer
numbers range from 0 upto 32767.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main ()
return 0;
}
OUTPUT:
1st random number : 83
2nd random number : 86
3rd random number: 16816927
EXAMPLE PROGRAM FOR PERROR() FUNCTION IN
C:
This function displays most recent error that happened
during library function call.
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char filename[40] = "test.txt";
fp = f open(filename, "r");
if(fp == NULL)
{
perror("File not found");
printf("errno : %d.\n", errno);
return 1;
}
printf("File is found and opened for reading");
fclose(fp);
return 0;
}
OUTPUT:
errno : 22.
File not found: No such file or directory
EXAMPLE PROGRAM FOR DELAY()
FUNCTION IN C:
This function suspends the execution of the
program for particular time.
C
#include<stdio.h>
#include<stdlib.h>
int main ()
return 0;
}
OUTPUT:
Suspends the execution of the program for
particular time