글
■ 키워드 typedef은 이미 존대하는 자료형에 새로운 이름을 붙이기 위한 용도로 사용된다.
typedef int INT;
- typedef : 이름을 지어줍시다.
- int : 기본 자료형 int 에게.
- INT : INT라는 이름을.
(1) typedef
: typedef을 통해 새로운 이름을 선언해준 다음부터는 키워드 int를 통한 변수의 선언 뿐만 아니라,
INT라는 새로운 이름을 통한 변수의 선언도 가능해진다.
[CODE] typedef int INT; typedef int* P_INT; int main(void) { INT a = 10; // int a=10; P_INT pA=&a; // int* pA=&a; printf("%d\n", *pA); return 0; } [RESULT] 10 |
- int를 INT로 int*를 P_INT로 치환하여 사용하여도 같은 결과를 얻을 수 있었다.
(2) typedef와 구조체 변수 선언
: typedef 키워드를 사용해 구조체 변수를 선언 시 struct 키워드를 사용하지 않고 선언 할 수 있다.
[CODE] struct Data { int data1; int data2; }; typedef struct Data Data; int main(void) { Data d={1, 2}; printf("%d, %d\n", d.data1, d.data2); return 0; } [RESULT] 1, 2 |
- 이와같이 "struct Data d" 대신 "Data d"를 사용할 수 있다.
(3) 구조체 정의와 typedef 선언 동시에 하기
[ex1] struct Data { int data1; int data2; }; typedef struct Data Data; |
-------------> | [ex2] typedef struct Data { int data1; int data2; } Data; |
- [ex2]의 경우 typedef struct Data 에서 Data를 생략할 수 있는데,
- 생략할 경우 Data d1; 으로 구조체를 정의할 수는 있지만, struct Data d1;으로 정의 할 수는없다.
- 생략하지 않을경우는 두가지 방법으로 정의 가능.
'P rogramming > C Language' 카테고리의 다른 글
포인터 배열 과 배열 포인터 (2) | 2011.10.27 |
---|---|
문자열 변수와 문자열 상수 (1) | 2011.10.27 |
문자열과 포인터 이론 (2) | 2011.10.26 |
2차원 배열과 포인터 이론 (4) | 2011.10.26 |
1차원 배열과 포인터 이론 (0) | 2011.10.26 |
RECENT COMMENT