구조체(structure type)란 사용자가 C언어의 기본 자료형을 가지고 새로운 자료형을 정의할 수 있는 **사용자 정의 자료형(user defined data type)
**입니다.
구조체는 기본 자료형으로는 나타낼 수 없는(혹은 불편한) 복잡한 데이터를 표현할 수 있습니다.
배열이 같은 자료형의 변수 집합이라고 한다면, 구조체는 다양한 타입의 변수 집합을 하나의 자료형으로 나타낸 것입니다.
이때 구조체를 구성하는 자료형들을 구조체의 멤버(member) 또는 멤버 변수(member variable)라고 합니다.
struct 구조체이름
{
멤버변수의 자료형 멤버변수1의이름;
멤버변수의 자료형 멤버변수2의이름;
};
구조체를 선언하면 멤버 변수들을 같은 장소에서 관리 할 수 있기 때문에 유용합니다.
더불어 구조체도 ‘하나의 자료형’
이기 때문에 또 다른 구조체의 멤버나, 심지어 스스로의 멤버 변수도 될 수 있습니다.
배열에서는 인덱스를 이용하여 배열 요소에 접근할 수 있습니다.
하지만 구조체에서 구조체 멤버로 접근하려고 할 때는 멤버 연산자(.)를 사용해야 합니다.
구조체의_이름.멤버변수의_이름
<aside> 📮 구조체의 주소값과 구조체의 첫 번째 멤버 변수의 주소는 언제나 같습니다
</aside>
구조체 멤버가 포인터 자료형일 경우 →
연산자를 사용하여 배열 요소에 접근할 수 있습니다.
구조체의_이름->멤버변수의_이름