본문 바로가기
Software/C++

[C++ 기초] 9. 구조체(Struct)

by 리미와감자 2023. 3. 12.
#include <iostream>

using namespace std;

int main() {

    // 축구선수
    struct MyStruct // 구조체 선언
    {
        // 멤버 변수
        string name;
        string position;
        int height;
        int weight;

    } B; // 구조체를 선언하면서 변수 선언 가능

    // 1. 초기화
    MyStruct A = { // 변수 선언
        "Son",
        "Striker",
        183,
        77
    };

    cout << A.name << endl;
    cout << A.position << endl;
    cout << A.height << endl;
    cout << A.weight << endl;
    cout << "" << endl;


    // 초기화 할때 값을 넣지 않으면 string의 경우 null, int의 경우 0 대입.
    B = {


    };

    cout << B.name << endl;
    cout << B.position << endl;
    cout << B.height << endl;
    cout << B.weight << endl;
    cout << "" << endl;

    // 2. 대입
    // 구조체 멤버 연산자 .(dot)
    A.name = "Kane";
    A.position = "Striker";
    A.height = 188;
    A.weight = 86;


    cout << A.name << endl;
    cout << A.position << endl;
    cout << A.height << endl;
    cout << A.weight << endl;
    cout << "" << endl;


    // 구조체 배열
    MyStruct C[2] = {
        {"A","A",1,1},
        {"B","B",2,2},
    };

    cout << C[0].height << endl;
    cout << C[1].height << endl;

    return 0;
}

결과

더보기

Son
Striker
183
77



0
0

Kane
Striker
188
86

1
2

 

 

구조체

정의

사용자 정의 데이터형. 다른 데이터형이 허용되는 데이터 집합. cf) 배열 : 같은 데이터형의 집합

ex) 축구선수 : 이름, 포지션, 키, 몸무게, ...

 

선언

struct Structname : 일반적으로 첫글자를 대문자로 한다.

{

타입 멤버변수1

타입 멤버변수2

...

}

 

 

특징

  • 구조체를 선언하면서 변수 선언이 가능하다. 구조체 선언할 때 마지막에 변수 이름을 써주면 된다.
  • 변수 선언 후, 일부 멤버변수만 초기화할 경우 나머지는 null, 0이 대입된다.
  • 구조체 멤버연산자(.)로 각 멤버변수에 접근할 수 있다.
  • 구조체 배열을 사용할 수 있다.

'Software > C++' 카테고리의 다른 글

[C++ 기초] 11. 포인터 기초  (0) 2023.03.20
[C++ 기초] 10. 공용체(Union)와 열거체(Enum)  (1) 2023.03.12
[C++ 기초] 8. String형  (0) 2023.03.10
[C++ 기초] 7. 사용자 입력  (0) 2023.03.10
[C++ 기초] 6. 배열과 문자열  (1) 2023.03.10

댓글