Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

C Programming Pointers and Functions - Call by Reference

When, argument is passed using Pointer, address of the memory location is passed instead of value.

Example of Pointer And Functions

Program to swap two number using call by reference.
 /* C Program to swap two numbers using pointers and function. */
#include
void swap(int *a,int *b);
int main(){
  int num1=5,num2=10;
  swap(&num1,&num2);  /* address of num1 and num2 is passed to swap function */
  printf("Number1 = %d\n",num1);
  printf("Number2 = %d",num2);
  return 0;
}
void swap(int *a,int *b){ /* pointer a and b points to address of num1 and num2 respectively */
  int temp;
  temp=*a;
  *a=*b;
  *b=temp;
}
Output
Number1 = 10
Number2 = 5

Explanation
The address of memory location num1 and num2are passed to function and the pointers *a and *baccept those values. So, the pointer a and b points to address of num1 and num2 respectively. When, the value of pointer are changed, the value in memory location also changed correspondingly. Hence, change made to *aand *b was reflected in num1 and num2in main function.
This technique is known as call by reference in C programming.



This post first appeared on C-Programming, please read the originial post: here

Share the post

C Programming Pointers and Functions - Call by Reference

×

Subscribe to C-programming

Get updates delivered right to your inbox!

Thank you for your subscription

×