English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 구조체와 함수

이 문서에서는 구조체를 함수에 매개변수로 전달하고 프로그램에서 사용하는 예제를 찾을 수 있습니다.

구조체를 전달할 수 있습니다.구조체변수가 전달됨함수그리고 일반 자변수와 유사하게 반환할 수 있습니다.

구조체를 C에 전달 ++중의 함수

구조체 변수를 함수에 전달할 수 있습니다. 다음 예제를 참고하세요:

예제1C ++구조체와 함수

#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의 멤버를 표시합니다.

예제2C ++중의 함수는 구조를 반환합니다

#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() 함수에 전달하여 정보를 표시합니다.