[ 사용자 정의 타입 ( Typedef) ]
[ ex) typedef type TypeName ]
1 2 3 | typedef int Money; Money a; | cs |
위와 같이 typedef를 이용하여
간단한 int 형 타입이름을 사용시 편하기위해(?)
내가 원하는 이름으로(사용자 정의) 타입을 사용을 가능하다.
typedef int Money; 의 구문은
자료형의 이름인 int 라는 타입에 Money 라는 별명(?)을 추가로 붙여준다 라고 컴파일러에게 전달시킨다고 생각하면 된다.
똑같은 하나의 타입이며 이에 대한
POINTER 변수 (Money* p;) 등등의 행위역시 가능하다.
[ 사용자 정의 구조체 ( Typedef Struct ) ]
1 2 3 4 5 6 7 | struct stack{ int x[100]; int top; }; //이렇게 해두면 정의를 할때마다 계속 struct stack a; //이런식으로 하면 타자도 많이쳐야하고 귀찮다 //하지만 C++방식에서는 상관이 없다.C에서만 적용 | cs |
위와 같이 struct stack 처럼 계속 쓰기에는 귀찮으므로..
(C++방식에서는 적용되지 않는다.)1 2 3 4 5 6 | typedef struct stack{ int x[100]; int top; }STACK; STACK a; | cs |
위와 같이 struct type 정의 전에 typedef 를 부여함으로서
기존 구조체 정의인
struct stack a; 가 아닌
typedef로 정의해둔
STACK a; 이런식으로 선언이 가능해진다.
생각보다 자주사용되니 알아둡시다 !
728x90
728x90
'Dev > [C]' 카테고리의 다른 글
[개탱][C][전처리(preprocessor directives)][헤더파일 중복선언 방지] (0) | 2018.01.02 |
---|---|
[개탱][C][변수 읽는법][Pointer][Double Pointer][함수 포인터][더블 포인터][포인터] (0) | 2018.01.02 |
[개탱][C][분리 컴파일[Separate compilation]] (0) | 2018.01.02 |
[개탱][C][구조체] (0) | 2018.01.02 |
[개탱][C][선언과 정의][메모리] (0) | 2018.01.02 |