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
职位:开发部
ICP备案:
公安联网备案: