본문 바로가기

C,C++

C,C++] 구조체(struct)

집계 데이터 유형: 여러 개별 변수를 함께 그룹화하는 데이터 유형.

구조체(struct): 집계 데이터 유형 중 하나로 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것.

이때 같은 변수만 사용하거나 여러 변수를 섞어서도 사용가능하다.

구조체 안에서 멤버(필드)와 멤버함수를 정의할 수 있다.

struct PersonalInfo { //일반적으로 구조체 이름은 대문자로 시작.
    int SSD = 0101011234567; //기본값 지정 가능.
    string name;
    string address;
};

struct GymMemberInfo {
    PersonalInfo p; //중첩된 구조체
    int height;
    int weight;
    void printGymInfo() { //멤버함수 정의 가능.
        cout << p.name <<' '<< p.address<<' '<< height <<' ' << weight << '\n';
    }
};

int main() {
    //구조체 초기화하는 방법.
    PersonalInfo p1 = { 0111111234567, "amy", "Seoul" };
    PersonalInfo p2{ 1234561234567, "jack", "Tokyo" };
    GymMemberInfo g1 = { {1212121234568, "gym", "Busan"},180,80 };

    //멤버 접근 방법
    p1.name = "jenny";
    g1.p.name="sam";
    g1.height = 170;
    g1.printGymInfo();
}

구조체는 연속된 메모리에서  일렬로 저장되고 패딩에 따라 할당되는 메모리가 다를 수 있다.


▼참고

 

C++ 05.07 - 구조체, struct

05.07 - 구조체, struct 객체를 표현하기 위해 하나 이상의 변수가 필요한 프로그래밍 사례가 많이 있다. 예를 들어, 자신을 표현하기 위해 이름, 생일, 키, 몸무게 또는 자신에 대한 기타 특성을 저

boycoding.tistory.com