구조체 정의
struct 구조체변수이름
{
};
구조체
: 다른 데이터형(int, float, double...)이 허용되는 데이터의 집합,
사용자가 정의한 새로운 데이터를 만드는 것
cf) 배열
: 같은 데이터형의 집합
#include <iostream>
#include <cstring>
using namespace std;
int main() {
//축구선수
//이렇게 다른 데이터형들이 모여있는 경우에 구조체를 사용할 수 있음
struct MyStruct //구조체 정의
{
string name; //멤버
string position; //멤버
int height; //멤버
int weight; //멤버
};
// 방법 1
MyStruct A; // A라는 이름의 MyStruct형 구조체 변수 선언
A.name = "Son";
A.position = "Striker";
A.height = 183;
A.weight = 77;
// 방법 2
/*
MyStruct A = { // 위처럼 써도되고 이렇게 써도됨
"Son", // 콤마(,) 써주기
"Striker",
183,
77
};
*/
cout << A.name << endl;
cout << A.position << endl;
cout << A.height << endl;
cout << A.weight << endl;
return 0;
}
struct MyStruct
{
string name;
string position;
int height;
int weight;
} B; // 구조체를 정의하는 부분에서 중괄호 뒤에 사용할 변수명을 입력하면,
// 새로운 구조체를 선언하지 않아도 입력한 변수명으로 구조체가 자동으로 만들어짐
// 배열처럼 값을 기입할 때 구조체 멤버에 해당되는 모든 값을 기입하지 않아도 됨
// 비어있는 값은 각각 0으로 저장됨
B = {
};
cout << B.height << endl; // 0출력
// 구조체를 배열로 선언 가능
MyStruct C[2] = {
{"A", "A", 1, 1},
{"B", "B", 2, 2}
};
cout << C[0].height << endl; // 1출력
- 구조체를 정의하는 부분에서 중괄호 뒤에 사용할 변수명을 입력하면,
새로운 구조체를 선언하지 않아도 입력한 변수명으로 구조체가 자동으로 만들어짐