반응형
구조체란?
여러자료의 항목을 모아놓은 형태
구조체는 구조체 멤버로 구성됨
구조체 멤버는 일반 자료형들과 구조체형 변수가 될수있다.
구조체의 정의:
구조체형만을 선언하거나 구조체형 선언과 함께 변수를 선언하는 형태로 정리
1.구조체형 변수 선언
struct[태그이름]
{
구조체 멤버 선언;
}[변수이름 1],[변수이름2];
2. 구조체 변수 선언
struct [태그이름]
{
구조체 멤버 선언;
};
struct[태그이름][변수이름 1],[변수 이름2];
태그이름 : -> 구조체형의 식별을 담당함,태그이름은 유일해야한다.
구조체 참조 연산자는 "."이다.
구조체형 포인터 변수를 생성할시 구조체 내부 멤버에 접근 하려면 (->) 연산자로 접근해야한다.
구조체의 멤버로 구조체를 포함한 경우 참조연산자를 사용해서 포함된
구조체의 멤버를 참조할수있다.
구조체 멤버가 구조체형 변수를 포함할때
[구조체 변수].[멤버인 구조체형 변수].[멤버]
typedef 를 이용한 구조체 정의
구조체형은 일반자료형 예약어에 비해 이름이 복잡해진다.
이를 위한 해결방법 이 typedef 이다.
typedef 는 이미 정의된 내용을 다시 재정의 해준다.
typedef [이미 정의된 내용] [새로 정의 해서 사용할 내용];
구조체형 선언과 typedef 를 함께 사용하면 프로그램 코딩시 편리할뿐아니라
코드의 가독성 면에서도 매우 좋다.
이러한 이유로 구조체형 선언에서 구조체 태그 이름을 생략하고
재정의 를 다음과 같이 함께 사용함
typedef struct
{
구조체 멤버 선언;
}재정의 이름;
정의 된 구조체형은 이후 재정의 이름으로 사용하게됨
구조체형 선언은 하나의 함수안에서만 사용하기보다는 프로젝트
전반에 걸쳐 공통으로 사용하면 편리하다.
반응형