본문 바로가기
OLD/[C]정리중

[개탱][C][typedef][Typedef Struct ][사용자 정의 구조체]

by 개탱 2018. 1. 2.
728x90

[ 사용자 정의 타입 ( 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; 이런식으로 선언이 가능해진다.

생각보다 자주사용되니 알아둡시다 !



댓글