C++结构体作为函数参数(非常详细,附带实例)
结构体类型在 C++ 中可以作为函数参数传递,具体可细分以下两种情况:
【实例】使用结构体变量做函数参数,显示小喵的信息。具体代码如下:
【实例】使用结构体指针变量做函数参数,显示新员工的信息。具体代码如下:
- 结构体变量作为函数参数;
- 结构体指针作为函数参数。
C++结构体变量做函数参数
结构体变量可以像普通变量一样作为函数参数,这样可以减少函数参数个数,使代码更简洁。【实例】使用结构体变量做函数参数,显示小喵的信息。具体代码如下:
#include <iostream> #include <cstring> using namespace std; struct PersonInfo //定义结构体 { char name[30]; float weight; short age; }; void ShowStuctMessage(struct PersonInfo MyInfo) //自定义函数,输出结构体变量成员 { cout << "小喵的名字:"<< MyInfo.name << endl; cout << "小喵的体重:"<< MyInfo.weight << endl; cout << "小喵的年龄:"<< MyInfo.age << endl; } int main() { PersonInfo pinfo; //声明结构体 strcpy(pinfo.name,"草莓"); pinfo.weight=2.5f; pinfo.age=2; ShowStuctMessage(pinfo); //调用函数 ShowStuctMessage() }程序运行结果为:
小喵的名字:草莓
小喵的体重:2.5
小喵的年龄:2
C++结构体指针做函数参数
使用结构体指针做函数参数时,传递的只是地址,减少了时间和空间上的开销,能显著提高程序的运行效率,在实际应用中效果比较好。【实例】使用结构体指针变量做函数参数,显示新员工的信息。具体代码如下:
#include <iostream> #include <cstring> using namespace std; struct PersonInfo { char name[30]; int index; char work[30]; }; void ShowStuctMessage(struct PersonInfo *pInfo) { cout << "姓名:"<<pInfo->name << endl; cout << "职员号:"<<pInfo->index << endl; cout << "职位:"<<pInfo->work<< endl; } int main() { PersonInfo pinfo; strcpy(pinfo.name,"张伟"); pinfo.index=14; strcpy(pinfo.work,"开发部"); cout<<"--------信息如下--------"<<endl; ShowStuctMessage(&pinfo); }运行结果为:
--------信息如下--------
姓名:张伟
职员号:14
职位:开发部