lOMoARcPSD|40040809
Data Structures Practicals (3130702) (GTU)
computer science & engg (Government Engineering College, Bhavnagar)
Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by Saroj Gandhi ()
, lOMoARcPSD|40040809
Practical 1
Aim : Introduction to pointers. Call by Value and
Call by reference.
POINTERS
The pointer in C language is a variable which stores the address of
another variable. This variable can be of type int, char, array,
function, or any other pointer. The size of the pointer depends on
the architecture. However, in 32-bit architecture the size of a
pointer is 2 byte.
Declaring and Initializing a pointer
The pointer in c language can be declared using * (asterisk symbol).
It is also known as indirection pointer used to dereference a
pointer.
int *ptrint; //pointer to int
char *ptrchar; //pointer to char
ptrint = # //initialization of pointer to an int
ptrchar = &achar; //initialization of pointer to a char
CALL BY VALUE
In call by value method, the value of the actual parameters is
copied into the formal parameters. In other words, we can say that
the value of the variable is used in the function call in the call by
value method.
In call by value method, we can not modify the value of the actual
parameter by the formal parameter.
In call by value, different memory is allocated for actual and formal
parameters since the value of the actual parameter is copied into
the formal parameter.
Downloaded by Saroj Gandhi ()
, lOMoARcPSD|40040809
Call By Value Program
#include<stdio.h>
void change(int num) {
printf("Before adding value inside function num=%d \n",num);
num=num+100;
printf("After adding value inside function num=%d \n", num);
}
int main() {
int x=100;
printf("Before function call x=%d \n", x);
change(x);//passing value in function
printf("After function call x=%d \n", x);
return 0;
}
Output :
Downloaded by Saroj Gandhi ()
, lOMoARcPSD|40040809
CALL BY REFERENCE
In call by reference, the address of the variable is passed into the function
call as the actual parameter.
The value of the actual parameters can be modified by changing the formal
parameters since the address of the actual parameters is passed.
In call by reference, the memory allocation is similar for both formal
parameters and actual parameters. All the operations in the function are
performed on the value stored at the address of the actual parameters, and
the modified value gets stored at the same address.
Call By Reference Program
#include<stdio.h>
void change(int *num) {
printf("Before adding value inside function num=%d \n",*num)
;
(*num) += 100;
printf("After adding value inside function num=%d \n", *num);
}
int main() {
int x=100;
printf("Before function call x=%d \n", x);
change(&x);//passing reference in function
printf("After function call x=%d \n", x);
return 0;
}
Ouput :
Downloaded by Saroj Gandhi ()
Data Structures Practicals (3130702) (GTU)
computer science & engg (Government Engineering College, Bhavnagar)
Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by Saroj Gandhi ()
, lOMoARcPSD|40040809
Practical 1
Aim : Introduction to pointers. Call by Value and
Call by reference.
POINTERS
The pointer in C language is a variable which stores the address of
another variable. This variable can be of type int, char, array,
function, or any other pointer. The size of the pointer depends on
the architecture. However, in 32-bit architecture the size of a
pointer is 2 byte.
Declaring and Initializing a pointer
The pointer in c language can be declared using * (asterisk symbol).
It is also known as indirection pointer used to dereference a
pointer.
int *ptrint; //pointer to int
char *ptrchar; //pointer to char
ptrint = # //initialization of pointer to an int
ptrchar = &achar; //initialization of pointer to a char
CALL BY VALUE
In call by value method, the value of the actual parameters is
copied into the formal parameters. In other words, we can say that
the value of the variable is used in the function call in the call by
value method.
In call by value method, we can not modify the value of the actual
parameter by the formal parameter.
In call by value, different memory is allocated for actual and formal
parameters since the value of the actual parameter is copied into
the formal parameter.
Downloaded by Saroj Gandhi ()
, lOMoARcPSD|40040809
Call By Value Program
#include<stdio.h>
void change(int num) {
printf("Before adding value inside function num=%d \n",num);
num=num+100;
printf("After adding value inside function num=%d \n", num);
}
int main() {
int x=100;
printf("Before function call x=%d \n", x);
change(x);//passing value in function
printf("After function call x=%d \n", x);
return 0;
}
Output :
Downloaded by Saroj Gandhi ()
, lOMoARcPSD|40040809
CALL BY REFERENCE
In call by reference, the address of the variable is passed into the function
call as the actual parameter.
The value of the actual parameters can be modified by changing the formal
parameters since the address of the actual parameters is passed.
In call by reference, the memory allocation is similar for both formal
parameters and actual parameters. All the operations in the function are
performed on the value stored at the address of the actual parameters, and
the modified value gets stored at the same address.
Call By Reference Program
#include<stdio.h>
void change(int *num) {
printf("Before adding value inside function num=%d \n",*num)
;
(*num) += 100;
printf("After adding value inside function num=%d \n", *num);
}
int main() {
int x=100;
printf("Before function call x=%d \n", x);
change(&x);//passing reference in function
printf("After function call x=%d \n", x);
return 0;
}
Ouput :
Downloaded by Saroj Gandhi ()