在本文中,您將找到相關示例,將結構體作為參數(shù)傳遞給函數(shù),并在程序中使用它們。
可以將結構體變量傳遞給函數(shù)并以與普通自變量類似的方式返回。
可以像普通參數(shù)一樣將結構體變量傳遞給函數(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的成員。
#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ù)顯示信息。