핵심요약
- 클래스와 유사하게 사용이 가능하다.
- 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것.
- 코드의 가독성을 높일 수 있다.
선언 및 정의(예제)
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;
멤버에 일일히 값을 지정하는 건 귀찮은 일이므로 초기화 목록({ })을 사용하여 빠르게 초기화 할 수 있다.
일부 또는 전체 멤버 변수 초기화가 가능하다.
참고한 사이트
'Algorithm' 카테고리의 다른 글
[C++] 데큐(DEQUE) (0) | 2023.09.30 |
---|---|
[C++] 우선순위 큐(PRIORITY_QUEUE) (0) | 2023.09.30 |
[C++] 스택(STACK) (0) | 2023.09.30 |
[C++] 자료형에 따른 숫자 범위 (0) | 2023.09.30 |
[C++] 파일의 끝(EOF)까지 입력받기 (0) | 2023.09.30 |