Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การโทรโดยการอ้างอิงในภาษา C คืออะไร?


ผ่านการอ้างอิงหมายความว่าที่อยู่จะถูกส่งเป็นอาร์กิวเมนต์

การเรียกโดยการอ้างอิงหรือส่งผ่านโดยวิธีอ้างอิงจะส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชันโดยใช้แอดเดรสไปยังอาร์กิวเมนต์ สิ่งนี้ทำในพารามิเตอร์ที่เป็นทางการ ภายในฟังก์ชัน ที่อยู่จะใช้เพื่อเข้าถึงอาร์กิวเมนต์จริง

ตัวอย่าง

#include<stdio.h>
void main(){
   void swap(int *,int *);
   int a,b;
   printf("enter 2 numbers");
   scanf("%d%d",&a,&b);
   printf("Before swapping a=%d b=%d",a,b);
   swap(&a, &b); //address are sent as an argument
   printf("after swapping a=%d, b=%d",a,b);
   getch();
}
void swap(int *a,int *b){
   int t;
   t=*a;
   *a=*b; // *a = (*a + *b) – (*b = * a);
   *b=t;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

enter 2 numbers 10 20
Before swapping a=10 b=20
After swapping a=20 b=10