#3 [C++] 구조체

김보민·2023년 3월 4일
0

C++

목록 보기
3/5

구조체 정의

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출력
  • 구조체를 정의하는 부분에서 중괄호 뒤에 사용할 변수명을 입력하면,
    새로운 구조체를 선언하지 않아도 입력한 변수명으로 구조체가 자동으로 만들어짐

0개의 댓글