본문 바로가기
카테고리 없음

구조체란?

by ByteBridge 2013. 2. 20.
반응형

구조체란?

여러자료의 항목을 모아놓은 형태


구조체는 구조체 멤버로 구성됨

구조체 멤버는 일반 자료형들과 구조체형 변수가 될수있다.


구조체의 정의:

구조체형만을 선언하거나 구조체형 선언과 함께 변수를 선언하는 형태로 정리


1.구조체형 변수 선언

struct[태그이름]

{

구조체 멤버 선언;

}[변수이름 1],[변수이름2];


2. 구조체 변수 선언


struct [태그이름]

{

구조체 멤버 선언;

};


struct[태그이름][변수이름 1],[변수 이름2];


태그이름 : -> 구조체형의 식별을 담당함,태그이름은 유일해야한다.


구조체 참조 연산자는 "."이다.


구조체형 포인터 변수를 생성할시 구조체 내부 멤버에 접근 하려면 (->) 연산자로 접근해야한다.


구조체의 멤버로 구조체를 포함한 경우 참조연산자를 사용해서 포함된 

구조체의 멤버를 참조할수있다.


구조체 멤버가 구조체형 변수를 포함할때

[구조체 변수].[멤버인 구조체형 변수].[멤버]


typedef 를 이용한 구조체 정의 

구조체형은 일반자료형 예약어에 비해 이름이 복잡해진다.
이를 위한 해결방법 이 typedef 이다.

typedef 는 이미 정의된 내용을 다시 재정의 해준다.

typedef [이미 정의된 내용] [새로 정의 해서 사용할 내용];

구조체형 선언과 typedef 를 함께 사용하면 프로그램 코딩시 편리할뿐아니라
코드의 가독성 면에서도 매우 좋다.
이러한 이유로 구조체형 선언에서 구조체 태그 이름을 생략하고
재정의 를 다음과 같이 함께 사용함
typedef struct
{
구조체 멤버 선언;
}재정의 이름;
정의 된 구조체형은 이후 재정의 이름으로 사용하게됨
구조체형 선언은 하나의 함수안에서만 사용하기보다는 프로젝트
전반에 걸쳐 공통으로 사용하면 편리하다.


반응형