English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 구조체를 함수에 매개변수로 전달하고 프로그램에서 사용하는 예제를 찾을 수 있습니다.
구조체를 전달할 수 있습니다.구조체변수가 전달됨함수그리고 일반 자변수와 유사하게 반환할 수 있습니다.
구조체 변수를 함수에 전달할 수 있습니다. 다음 예제를 참고하세요:
#include <iostream> using namespace std; struct Person { char name[50]; int age; float salary; }; void displayData(Person); // 함수 선언 int main() { Person p; cout << "입력 이름: "; cin.get(p.name, 50); cout << "입력 연령: "; cin >> p.age; cout << "입력 급여: "; cin >> p.salary; // 함수 호출, 구조 변수가 매개변수로 사용됨 displayData(p); return 0; } void displayData(Person p) { cout << "\n표시 정보" << endl; cout << "이름: " << p.name << endl; cout << "연령: " << p.age << endl; cout << "급여: " << p.salary; }
출력 결과
입력 이름: Bill Jobs 입력 연령: 55 입력 급여: 34233.4 표시 정보 이름: Bill Jobs 연령: 55 급여: 34233.4
이 프로그램에서는 main() 함수에서 사용자가 한 사람의 이름, 연령 및 급여를 입력하도록 요청합니다.
그런 다음, 구조 변수 p를 함수에 전달합니다.
displayData(p);
displayData()의 반환형은 void이며 구조 Person의 매개변수를 전달합니다.
그런 다음 이 함수에서 구조 p의 멤버를 표시합니다.
#include <iostream> using namespace std; struct Person { char name[50]; int age; float salary; }; Person getData(Person); void displayData(Person); int main() { Person p; p = getData(p); displayData(p); return 0; } Person getData(Person p) { cout << "입력 이름: "; cin.get(p.name, 50); cout << "입력 연령: "; cin >> p.age; cout << "입력 급여: "; cin >> p.salary; return p; } void displayData(Person p) { cout << "\n표시 정보" << endl; cout << "이름: " << p.name << endl; cout << "연령: " << p.age << endl; cout << "급여: " << p.salary; }
이 프로그램의 출력 결과는 위의 프로그램과 동일합니다。
이 프로그램에서는 Person 타입의 구조체 변수 p가 main() 함수에서 정의됩니다.
구조체 변수 p가 main() 함수에 전달되어 함수가 사용자로부터 입력을 받고, 그 다음에 메인 함수에 반환됩니다.
p = getData(p);
주의:두 구조체 변수의 타입이 같다면, 할당 연산자를 사용할 수 있습니다.(=)구조체 변수의 모든 멤버 값을 다른 구조체에 할당합니다. 각 멤버를 수동으로 할당할 필요가 없습니다.
그런 다음 구조체 변수 p를 displayData() 함수에 전달하여 정보를 표시합니다.