C/C++ 에서 typedef명령은 데이터형을 식별자로 대체하여 사용하게 해주는 명령이다. (type definition 두 단어를 조합해서 만든 듯 하다.)  다른 포스트에서 설명한 #include, #define 과 같은 전처리 명령어와 달리 #이 붙지 않고 끝에 세미콜론 ; 이 붙는다는 점에 유의하자.


 예를 들면 다음과 같다.


typedef unsigned char uchar;
typedef int INCHES, FEET;
typedef unsigned long size_t;


첫 번째 줄의 예를 보면 unsigned char 형을 uchar라는 새로운 이름(식별자)으로 정의하였고 두 번째 줄은 int 형을 INCEHES와 FEET라는 새로운 이름으로 정의하였다. 이후로는 다음과 같이 변수를 정의할 수 있다.


uchar ucA, ucB = 10; // unsigned char 형
INCHES length, width; // int 형


여기에서 ucA와 ucB는 unsinged char형이고 length와 width는 int형 변수이다.


  이렇게 이름을 새로 정의함로써 얻어지는 장점들은 다음과 같다.


❶ 긴 이름의 데이터형을 짧은 이름으로 대체할 수 있다.

❷ 자료형에 추가적인 의미를 부여할 수 있다.

또한 이 typedef명령어는 나중에 소개할 열거형(enum)과 구조제(struct)와 조합해서 자주 쓰이기도 한다.



Posted by 살레시오
,