반응형
자료형의 별칭을 지정할 수 있다.
// typedef (자료형) (별칭)
typedef char c8;
typedef unsigned char u8;
typedef short d16;
typedef unsigned short u16;
typedef int d32;
typedef unsigned int u32;
typedef float f32;
typedef double f64;
이제 우리는
int age = 19; 을 하는 대신
d32 age = 19; 를 할 수 있다.
// typedef (자료형)* (별칭)
typedef char* charptr;
typedef short* shortptr;
typedef int* intptr;
이와 같이 포인터를 재정의 할 수 도 있다.
이제 우리는
int* p1; 을 하는 대신
intptr p1; 을 할 수 있다.
구조체도 자료형이기 때문에 .....
// 구조체도 자료형이기 때문에
// typedef (자료형) (별칭)
// typedef (자료형)* (별칭)
// 형식으로 재정의 할 수 있다.
struct Human
{
char name[128];
int age;
int height;
int weight;
};
typedef Human Human_t;
typedef Human* HumanPtr;
// 아래와 같이 선언과 동시에 재정의 할 수 있으며,
typedef struct Human
{
char name[128];
int age;
int height;
int weight;
} Human_t, *HumanPtr;
// 아래와 같이 원래의 구조체 이름을 생략 할 수도 있다.
typedef struct
{
char name[128];
int age;
int height;
int weight;
} Human_t, *HumanPtr;
이렇게 구조체를 재정의(typedef) 해 놓으면
struct Human human; 을 사용하는 대신에
Human_t human; 를 사용 할 수 있다.
만약
typedef struct Human
{
(생략)
} Human, *HumanPtr;
이렇게 정의 했다면
struct Human human; 을 사용하는 대신에
Human human; 을 사용할 수 있다.(struct를 안쓰고 자료형을 쓸 수 있음)
반응형
'C언어(2020년)' 카테고리의 다른 글
31. sizeof (0) | 2020.11.04 |
---|---|
30. 문자열 (0) | 2020.11.04 |
28. union (0) | 2020.11.04 |
27. 전처리기 (0) | 2020.11.04 |
26. 가변인자 함수 만들기 (0) | 2020.11.04 |