函数:通过按值传递及传递结构地址操作结构

结构声明:

struct box
{
	char maker[40];
	float height;
	float width;
	float length;
	float volume;
};

a.编写一个函数,安置传递box结构,并显示每个成员的值;

b.编写一个函数,传递box结构的地址,并将volume成员设置为三维长度的乘积;

c.编写一个使用这两个函数的简单程序;

#include <iostream>

struct box
{
	char maker[40];
	float height;
	float width;
	float length;
	float volume;
};

void show_box(box);
void set_box_volume(box *);

int main(void)
{
	box a;
	
	std::cout << "maker: ";
	std::cin.getline(a.maker, 40);
	std::cout << "Input box size: 
";
	std::cin >> a.height >> a.width >> a.length ;
	
	show_box(a);
	set_box_volume(&a);
	show_box(a);
	
	return 0;
}

void show_box(box a)
{
	std::cout << "
height:" << a.height   << " "  << a.width
	          << " length:" << a.length  << " volume:" << a.volume
	          << std::endl;
}
void set_box_volume(box *a)
{
	a->volume = a->height*a->width*a->length;
}


原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732353.html