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