C++ 結構體和函數(shù)

在本文中,您將找到相關示例,將結構體作為參數(shù)傳遞給函數(shù),并在程序中使用它們。

可以將結構體變量傳遞給函數(shù)并以與普通自變量類似的方式返回。

將結構體傳遞給C ++中的函數(shù)

可以像普通參數(shù)一樣將結構體變量傳遞給函數(shù)??紤]以下示例:

示例1:C ++結構體和函數(shù)

#include <iostream>
using namespace std;

struct Person
{
    char name[50];
    int age;
    float salary;
};

void displayData(Person);   // 聲明函數(shù)

int main()
{
    Person p;

    cout << "輸入姓名: ";
    cin.get(p.name, 50);
    cout << "輸入年齡: ";
    cin >> p.age;
    cout << "輸入工資: ";
    cin >> p.salary;

    // 函數(shù)調用,結構變量作為參數(shù)
    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()函數(shù)中輸入一個人的姓名、年齡和工資。

然后,使用將結構變量p傳遞給函數(shù)。

displayData(p);

displayData()的返回類型為void,并傳遞一個類型為結構Person的參數(shù)。

然后從這個函數(shù)中顯示結構p的成員。

示例2:從C ++中的函數(shù)返回結構

#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()函數(shù)中定義。

結構變量p被傳遞給getData()函數(shù),函數(shù)從用戶那里獲取輸入,然后返回給(main)主函數(shù)。

p = getData(p);

注意:如果兩個結構變量的類型相同,則可以使用賦值運算符(=)將結構變量的所有成員的值分配給另一個結構。您無需手動分配每個成員。

然后將結構變量p傳遞給displayData()函數(shù),該函數(shù)顯示信息。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清