9.1 구조체란
✅ 구조체 정의
- 구조체는 서로 관련 있는 여러 자료형의 변수들을 묶어서 새로운 자료형으로 main() 함수 위의 전역 위치에 다음 형식으로 정의.
struct 구조체명 {
자료형 1 변수명1;
자료형 2 변수명2;
자료형 3 변수명3;
......
};
- 정의된 구조체를 사용하려면 구조체 변수를 선언해야 함. 구조체 변수는 배열처럼 중괄호를 사용해 한꺼번에 값을 초기화 할 수 있음.
✅ 구조체 변수 선언
struct 구조체명 구조체변수명 = {값1, 값2,...};
변수명.멤버병 = 값;
✅ 구조체 배열 만들기
- 구조체 변수는 일반 변수와 생김새가 조금 다를 뿐이지 사용하는 방법은 비슷함. 구조체 배열도 일반 배열과 비슷하며, 선언 형식은 다음과 같음.
struct 구조체명 배열명 [배열크기]
9.2 구조체 사용
✅ 구조체 포인터 사용
- 포인터 변수는 어떤 메모리 공간의 주소를 저장해 해당 주소를 가리키는 변수이며 이와 마찬가지로 구조체 포인터는 구조체 변수의 주소를 가리키는 변수를 의미.
- 구조체 포인터의 선언 포인터 형식은 다음과 같음. 다만 구조체는 자료형이 struct 구조체명 이므로 자료형 자리에 다음과 같이 들어감.
struct 구조체명 * 변수명;
9.3 typedef
✅ typedef란?
- typedef 키워드는 이미 존재하는 자료형 새로운 이름(별명)을 붙이는 데 사용하며, 다음과 같은 형식으로 구조체 정의.
typedef struct {
자료형1 변수명1;
자료형2 변수명2;
자료형3 변수명3;
...
} 구조체명;
- typedef로 정의한 구조체를 사용하려면 다음과 같이 구조체 변수를 선언해야 함.
구조체명 구조체변수명;