구조 값이 한 기능에서 다른 기능으로 전송되는 세 가지 방법이 있습니다. 다음과 같습니다 -
- 개별 멤버를 함수에 대한 인수로 전달.
- 전체 구조를 함수에 대한 인수로 전달합니다.
- 구조의 주소를 함수에 대한 인수로 전달합니다.
이제 구조체 요소의 개별 멤버를 함수에 대한 인수로 전달하는 방법을 살펴보겠습니다.
-
각 멤버는 함수 호출에서 인수로 전달됩니다.
-
함수 헤더의 일반 변수에 독립적으로 수집됩니다.
예시
구조의 개별 인수를 함수에 전달하는 방법을 보여주는 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