C언어 typedef - 자료형에 새 이름 붙이기
코딩C언어
읽는데 3분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-02-03
조회수: 2
요약
C언어 typedef 키워드로 자료형에 별칭을 붙이는 방법을 알아봅니다. struct와 함께 사용하는 패턴, 포인터 타입 별칭 등 실무에서 자주 쓰이는 typedef 활용법을 정리합니다.
typedef 핵심 정리
| 개념 | 설명 | 예시 |
|---|---|---|
| typedef | 자료형에 새 이름(별칭)을 붙이는 키워드 | typedef int INT; |
| 사용 목적 | 긴 타입명을 짧게, 코드 가독성 향상 | Queue q; |
| struct와 함께 | struct 키워드 생략 가능 | typedef struct {...} Name; |
typedef란?
typedef는 type definition의 약자로, 기존 자료형에 **새로운 이름(별칭)**을 붙이는 키워드입니다.
c
코드 하이라이팅 중...
기본 예시
c
코드 하이라이팅 중...
typedef는 새 자료형을 만드는 게 아닙니다
typedef는 기존 자료형에 별칭을 붙일 뿐, 새로운 자료형을 만드는 것이 아닙니다. INT와 int는 완전히 동일합니다.
struct와 함께 사용
typedef가 가장 많이 쓰이는 곳은 struct와 함께 사용할 때입니다.
typedef 없이 struct 사용
c
코드 하이라이팅 중...
typedef와 함께 struct 사용
c
코드 하이라이팅 중...
| 방식 | 변수 선언 | 특징 |
|---|---|---|
| typedef 없이 | struct Queue q; | 매번 struct 키워드 필요 |
| typedef 사용 | Queue q; | 간결하고 가독성 좋음 |
typedef struct 패턴
실무에서 가장 많이 쓰이는 패턴입니다.
패턴 1: 익명 구조체 + typedef
c
코드 하이라이팅 중...
구조체 이름 없이 바로 별칭만 지정합니다. 가장 간결한 방식입니다.
패턴 2: 이름 있는 구조체 + typedef
c
코드 하이라이팅 중...
연결 리스트처럼 자기 자신을 참조하는 구조체는 내부에서 struct Node를 써야 합니다. typedef 별칭 Node는 정의가 완료된 후에야 사용할 수 있기 때문입니다.
자기 참조 구조체 주의
구조체 내부에서 자기 자신을 가리키는 포인터는 struct 키워드를 붙여야 합니다. typedef 별칭은 구조체 정의가 끝난 후에 사용 가능합니다.
포인터 타입에 typedef
포인터 타입에도 별칭을 붙일 수 있습니다.
c
코드 하이라이팅 중...
주의: 일반 선언과의 차이
c
코드 하이라이팅 중...
| 선언 방식 | p1 타입 | p2 타입 |
|---|---|---|
IntPtr p1, p2; | int* | int* |
int *p1, p2; | int* | int |
언제 typedef를 사용하나?
| 상황 | 예시 |
|---|---|
| struct 간결하게 | typedef struct {...} Queue; |
| 긴 타입명 줄이기 | typedef unsigned long long ULL; |
| 의미 부여 | typedef int Age; (나이를 저장하는 int) |
| 이식성 | typedef int int32_t; (플랫폼별 크기 보장) |
정리
c
코드 하이라이팅 중...