本篇介绍C++的一个数据结构:结构体类型,主要介绍它的定义声明、以及作为函数参数传递的方式。
/*
* Author:W;
* 结构体
*/
//引入头文件:头文件包含了程序中必需的或有用的信息
#include <iostream>
using namespace std;
/// <summary>
/// 图片
/// </summary>
struct Picture
{
string Name;
int ID;
};
//函数声明
void PrintPictureInfo(Picture pic);
void PrintPictureInfo2(Picture* pic);
void PrintPictureInfo3(Picture& pic);
//main程序执行入口函数
int main()
{
Picture picture1;
picture1.Name = "蒙娜丽莎";
picture1.ID = 1001;
Picture picture2;
picture2.Name = "达芬奇的鸡蛋";
picture2.ID = 1003;
Picture picture3;
picture3.Name = "阿甘正传";
picture3.ID = 1005;
PrintPictureInfo(picture1);
PrintPictureInfo2(&picture2);
PrintPictureInfo3(picture3);
}
//结构体作为函数参数传递
void PrintPictureInfo(Picture pic)
{
cout << "===1.结构体作为函数参数传递===" << endl;
cout << "图画的名称:" << pic.Name << endl;
cout << "图画的ID:" << pic.ID << endl;
}
//结构体指针作为函数的参数传递
void PrintPictureInfo2(Picture *pic)
{
cout << "===2.结构体指针作为函数的参数传递===" << endl;
//cout << "图画的名称:" << pic->Name << endl;
//cout << "图画的ID:" << pic->ID << endl;
cout << "图画的名称:" << (*pic).Name << endl;
cout << "图画的ID:" << (*pic).ID << endl;
}
//结构体的引用作为函数参数传递
void PrintPictureInfo3(Picture& pic)
{
cout << "===3.结构体的引用作为函数参数传递===" << endl;
cout << "图画的名称:" << pic.Name << endl;
cout << "图画的ID:" << pic.ID << endl;
}
运行结果如下: