본문 바로가기

알고리즘을 위한 간략 정리/자료형

[C++] 구조체(STRUCT)

핵심요약

  • 클래스와 유사하게 사용이 가능하다.
  • 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것.
  • 코드의 가독성을 높일 수 있다.

선언 및 정의(예제)

struct Student //정의
{
    short id;
    int age;
    double score;
};

Student minsu; //선언

위 코드는 컴파일러에 Student 구조체를 정의한다고 말한다.
일반적으로 구조체 이름은 대문자로 시작하여 변수 이름과 구분한다.
Student 구조체는 세 개의 변수(short id, int age, double score)를 포함한다.
구조체의 일부인 이러한 변수를 멤버(member) 또는 필드(field)라고 한다.

Student 는 단지 구조체 자료형에 불과하다. 컴파일러에 구조체에 멤버 변수가 있을 것이라고 말하고 있지만, 지금은 어떤 메모리도 할당되지 않는다.

구조체 멤버 접근

struct Student
{
    short id;
    int age;
    double score;
};

Student minsu;

minsu.id = 1;
minsu.age = 22;
minsu.score = 99.00;

구조체의 멤버에 접근할 때는 멤버 선택 연산자(.)를 사용하면 된다.

구조체 초기화

struct Student
{
    short id;
    int age;
    double score;
};

Student minsu1 = {1, 22, 99.00}; //minsu1과 minsu2는 같은 데이터를 가지고 있다.

Student minsu2;
minsu2.id = 1;
minsu2.age = 22;
minsu2.score = 99.00;

멤버에 일일히 값을 지정하는 건 귀찮은 일이므로 초기화 목록({ })을 사용하여 빠르게 초기화 할 수 있다.
일부 또는 전체 멤버 변수 초기화가 가능하다.

참고한 사이트

https://boycoding.tistory.com/183