Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm cách nào để chuyển địa chỉ của cấu trúc làm đối số cho hàm trong ngôn ngữ C?

Truyền địa chỉ của cấu trúc làm đối số cho hàm -

  • Địa chỉ của cấu trúc được chuyển làm đối số cho hàm.

  • Nó được thu thập trong một con trỏ tới cấu trúc trong tiêu đề hàm.

Ưu điểm

  • Không lãng phí bộ nhớ vì không cần tạo lại bản sao

  • Không cần trả lại các giá trị vì hàm có thể truy cập gián tiếp vào toàn bộ cấu trúc và hoạt động trên đó.

Ví dụ

#include<stdio.h>
struct date{
   int day;
   int mon;
   int yr;
};
main (){
   struct date d= {02,01,2010};
   display (&d);
   getch ();
}
display (struct date *dt){
   printf("day = %d\n", dt->day);
   printf("month = %d\n",dt->mon);
   printf("Year = %d",dt->yr);
}

Đầu ra

day = 2
month = 1
Year = 2010