본문 바로가기
프로그래밍/C, C++

[C언어] typedef 이란 무엇인가

by JR2 2021. 1. 19.

typedef 이란

이미 사용되는 자료형을 다른 새로운 자료형 이름으로 재정의 할 수 있도록 하는 키워드이다.

 

쉽게 말하자면, 자료형에 별명을 붙혀주는 것이다.

 

typedef int hihi;

hihi a = 10; // hihi는 int형

 

이런식으로 표현할 수 있게 된다.

 

여기까지는 너무 쉽다.

그럼 typedef를 왜 쓸까?

 

구조체의 이름이 길거나, 프로그램 확장성을 위해 사용한다.

 

만약 int가 4바이트로 할당되는 개발환경을 사용하다가,

int가 2바이트로 할당 되는 개발환경으로 갑자기 바꿔야한다면

 

일일히 모든 코드의 자료형을 수정해야 할 것이다.

 

하지만 typedef로 선언해 놓는다면, 1줄만 수정하면 된다.

 

아래는 위키백과에서 퍼온 typedef의 정보이다.

 

typedef C C++ 프로그래밍 언어 예약어이다. 다른 자료형의 별명을 만들기 위해 사용된다.[1] 이처럼, struct와 union 타입으로 이루어진 복잡한 자료 구조를 선언하는 문을 단순하게 만들기 위해 종종 사용되지만 다양한 길이의 정수 자료형에 대한 특정한 서술형 이름을 지정하는 것으로 일반화되어 있다. C 표준 라이브러리 POSIX와 같은 규칙들은 예를 들어 size_t time_t처럼 종종 typedef 형의 이름을 '_t'로 끝맺는 것이 종종 권장된다.

 

uint8_t 라는 자료형이 이해가 안됐었는데, 이제 이해가 된다.

역시 배움은 좋다.

댓글