ऐसे तीन तरीके हैं जिनके द्वारा संरचना के मूल्यों को एक फ़ंक्शन से दूसरे फ़ंक्शन में स्थानांतरित किया जा सकता है। वे इस प्रकार हैं -
- कार्य करने के लिए अलग-अलग सदस्यों को तर्क के रूप में पास करना।
- कार्य करने के लिए एक तर्क के रूप में संपूर्ण संरचना को पारित करना।
- कार्य करने के लिए तर्क के रूप में संरचना के पते को पास करना।
अब देखते हैं कि कार्य करने के लिए तर्क के रूप में संरचना तत्वों के एक व्यक्तिगत सदस्य को कैसे पारित किया जाए।
-
फ़ंक्शन कॉल में प्रत्येक सदस्य को तर्क के रूप में पारित किया जाता है।
-
वे फ़ंक्शन हेडर में सामान्य चर में स्वतंत्र रूप से एकत्र किए जाते हैं।
उदाहरण
एक फ़ंक्शन के लिए संरचना के अलग-अलग तर्कों को पारित करने का प्रदर्शन करने के लिए नीचे एक सी प्रोग्राम दिया गया है -
#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
एक अन्य उदाहरण पर विचार करें, जिसमें, किसी फ़ंक्शन के लिए संरचना के अलग-अलग तर्कों को पारित करने के लिए एक सी प्रोग्राम को नीचे समझाया गया है -
#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