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