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

จะส่งผ่านสมาชิกแต่ละคนเป็นอาร์กิวเมนต์เพื่อทำงานโดยใช้องค์ประกอบโครงสร้างได้อย่างไร


มีสามวิธีที่สามารถถ่ายโอนค่าของโครงสร้างจากฟังก์ชันหนึ่งไปยังอีกฟังก์ชันหนึ่งได้ ดังต่อไปนี้ −

  • ส่งผ่านสมาชิกแต่ละคนเป็นอาร์กิวเมนต์ในการทำงาน
  • ส่งผ่านโครงสร้างทั้งหมดเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน
  • ส่งที่อยู่ของโครงสร้างเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน

ตอนนี้เรามาดูวิธีการส่งผ่านสมาชิกขององค์ประกอบโครงสร้างเป็นอาร์กิวเมนต์ในการทำงาน

  • สมาชิกแต่ละคนจะถูกส่งผ่านเป็นอาร์กิวเมนต์ในการเรียกใช้ฟังก์ชัน

  • พวกมันถูกรวบรวมอย่างอิสระในตัวแปรธรรมดาในส่วนหัวของฟังก์ชัน

ตัวอย่าง

รับด้านล่างเป็นโปรแกรม C เพื่อแสดงการส่งต่ออาร์กิวเมนต์โครงสร้างแต่ละรายการไปยังฟังก์ชัน -

#include<stdio.h>
struct date{
   int day;
   int mon;
   int yr;
};
main ( ){
   struct date d= {02,01,2010}; // struct date d;
   display(d.day, d.mon, d.yr);// passing individual mem as argument to function
   getch ( );
}
display(int a, int b, int c){
   printf("day = %d\n", a);
   printf("month = %d\n",b);
   printf("year = %d\n",c);
}

ผลลัพธ์

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

day = 2
month = 1
year = 2010

ตัวอย่างที่ 2

ลองพิจารณาอีกตัวอย่างหนึ่ง ซึ่งอธิบายโปรแกรมภาษา C เพื่อแสดงการส่งต่ออาร์กิวเมนต์ของโครงสร้างไปยังฟังก์ชันแต่ละรายการด้านล่าง -

#include <stdio.h>
#include <string.h>
struct student{
   int id;
   char name[20];
   float percentage;
   char temp;
};
struct student record; // Global declaration of structure
int main(){
   record.id=1;
   strcpy(record.name, "Raju");
   record.percentage = 86.5;
   structure_demo(record.id,record.name,record.percentage);
   return 0;
}
void structure_demo(int id,char name[],float percentage){
   printf(" Id is: %d \n", id);
   printf(" Name is: %s \n", name);
   printf(" Percentage is: %.2f \n",percentage);
}

ผลลัพธ์

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

Id is: 1
Name is: Raju
Percentage is: 86.5