Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

행복한 개구리

C++ Tutorial - Structures (struct) 본문

C++/공부내용

C++ Tutorial - Structures (struct)

HappyFrog 2022. 6. 23. 15:45


 

 

 

C++ 구조체

구조체는 관련있는 여러 변수들을 한 곳에 묶는 방법입니다. 구조체의 각 변수는 구조체의 멤버로 알려져 있습니다.

 

배열과 다르게 구조체는 서로 다른 여러 데이터 타입을 담을 수 있습니다. (int, string, bool 등)

 

 

 


구조체 만들기

구조체를 만들기 위해서  struct  키워드를 사용하고 중괄호 { } 안에 각 멤버들을 선언하면 됩니다.

 

선언 후에 구조체 변수의 이름을 정해주면 됩니다. (아래 예시에선 myStructure가 구조체 이름입니다.)

 

struct {             
  int myNum;         
  string myString;   
} myStructure;

 

 

 


구조체 멤버에 접근하기

구조체 멤버에 접근하려면 마침표( . ) 문법을 사용하면 됩니다.

 

 

예시

#include <iostream>

using namespace std;

int main() {
	// myStructure이라는 구조체 생성하기
	struct {
		int myNum;
		string myString;
	} myStructure;

	// myStructure의 멤버들에 값 할당하기
	myStructure.myNum = 1;
	myStructure.myString = "Hello World!";

	// myStructure의 멤버 출력하기
	cout << myStructure.myNum << "\n";
	cout << myStructure.myString << "\n";
}

 

 

 


한 구조체에 여러 변수

당신은 쉼표 ( , )를 사용하여 여러 변수가 있는 하나의 구조체를 만들 수 있습니다.

 

struct {
  int myNum;
  string myString;
} myStruct1, myStruct2, myStruct3;

 

아래에 있는 예시는 한 구조체에 있는 서로 다른 두 변수를 어떻게 이용하는 지 보여줍니다.

 

 

예시

#include <iostream>

using namespace std;

struct {
	string brand;
	string model;
	int year;
} myCar1, myCar2;	// 우리는 쉼표를 이용하여 여기 있는 변수를 구분할 수 있습니다.

int main() {
	

	// 첫번째 구조체에 데이터를 할당합니다.
	myCar1.brand = "BMW";
	myCar1.model = "X5";
	myCar1.year = 1999;

	// 두번째 구조체에 데이터를 할당합니다.
	myCar2.brand = "Ford";
	myCar2.model = "Mustang";
	myCar2.year = 1969;

	// 구조체의 멤버 출력
	cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
	cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
}

 

 

 


명명된 구조체

구조체를 명명함으로써 당신은 이것을 데이터 타입처럼 취급할 수 있게됩니다. 이것은 당신이 프로그램의 어디서든 언제나 이 구조체로 변수를 생성할 수 있음을 뜻합니다.

 

명명된 구조체를 만들기 위해서는 구조체의  struct  키워드 바로 후에 이름을 지어주면 됩니다:

 

struct myDataType { 
  int myNum;
  string myString;
};

 

구조체를 사용하는 변수를 선언하려면 구조체의 이름을 변수의 데이터 타입처럼 사용하세요.

 

myDataType myVar;

 

 

예시

#include <iostream>

using namespace std;

// "car"이라고 명명된 구조체를 선언합니다.
struct car {
	string brand;
	string model;
	int year;
};

int main() {
	// car 구조체인 myCar1을 만들고 데이터를 저장합니다.
	car myCar1;
	myCar1.brand = "BMW";
	myCar1.model = "X5";
	myCar1.year = 1999;

	// 또 다른 car 구조체인 myCar2를 만들고 데이터를 저장합니다.
	car myCar2;
	myCar2.brand = "Ford";
	myCar2.model = "Mustang";
	myCar2.year = 1969;

	// 구조체 멤버를 출력합니다.
	cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
	cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";	
	
	return 0;
}