본문 바로가기

Programming/C++ 2

[C++ 실습] 4장-04. 구조체

반응형
#include <iostream>
using namespace std;
struct inflatable
{
	char name[20];
	float volume;
	double price;
};

int main()
{
	inflatable guest
	{
		"Glorious Gloria", 1.88, 29.99
	};

	inflatable pal
	{
		"Audacious Arthur",
		3.12,
		32.99
	};

	cout << "지금 판매하고 있는 모형풍선은 \n" << guest.name;
	cout << "와 " << pal.name << "입니다. \n";

	cout << "두 제품을 $";
	cout << guest.price + pal.price << "에 드리겠습니다! \n";

	return 0;
}

-> 구조체 inflatable의 멤버변수 name[], volume, price

-> 구조체 변수 guest, pal

-> 멤버 연산자를 이용해 구조체의 개별적인 멤버 접근 가능 : guest.name, pal.name

-> pal.name[0] : A


#include <iostream>
using namespace std;
struct inflatable //구조체 정의
{
	char name[20];
	float volume;
	double price;
};

int main()
{
	inflatable bouquet = //구조체 변수의 생성
	{
		"sunflowers",
		0.20,
		12.49
	};

	inflatable choice;
	cout << "bouquet :" << bouquet.name << " for $";
	cout << bouquet.price << endl;

	choice = bouquet; // 멤버별 대입 : 한 구조체를 다른 구조체에 대입
	cout << "choice: " << choice.name << " for $";
	cout << choice.price << endl;

	return 0;
}

-> 구조체는 멤버변수와 멤버함수를 가질 수 있다.


  • 구조체 대입
    • 구조체를 함수의 매개변수로 전달
    • 구조체를 리턴값으로 사용
    • 구조체를 다른 구조체에 대입 [멤버별 대입]
  • 구조체 변수 생성과 초기화 방법
	struct perks
	{
		int key_numbers;
		char car[12];
	}mr_smith, ms_jones, mr_glitz = {
		7,
		"packard"
	};

-> 구조체 선언시 구조체 변수 생성가능 또한, 변수 생성과 동시에 초기화도 가능하다.

 

#include <iostream>
using namespace std;

struct inflatable
{
	char name[20];
	float volume;
	double price;
};
int main()
{
	inflatable guests[2] = //구조체의 배열 초기화
	{
		{"Bambi", 0.5, 21.99},	   //배열에 있는 첫 번째 구조체 
		{"Godzilla", 2000, 565.99} //배열에 있는 두 번째 구조체
	};
	cout << guests[0].name << "와 " << guests[1].name << "의 부피를 합하면 \n"
		<< guests[0].volume + guests[1].volume << " 세제곱비트입니다. \n";
	cout << guests[0].name << "와 " << guests[1].name << "의 가격을 합하면 \n"
		<< guests[0].price+ guests[1].price<< " 달러 입니다. \n";
		
	return 0;
}

실습

반응형