전처리기란?
: # 기호로 시작하는데, 컴퓨터 처리에 있어서 중심적인 처리를 수행하는 부분을 위해 사전 준비적인 계산을 진행하는 것이다.
전처리기의 종류
단순 매크로
: 변수처럼 어떠한 값을 특정 단어로 대체하는 것을 의미한다. 즉, 아래와 같이 3.141592를 PI라는 단어로 치환하는 것이다.
💡 #define과 typedef의 차이점
[define]
: unsigned char를 uchar로 치환하는 것
// define
#define uchar unsigned char
[typedef]
: unsigned char를 UCHAR로 치환하는 것
// typedef
typeof unsigned char UCHAR
서로 같은 기능을 하지만 차이점도 있다.
1. 처리하는 것이 다르다.
: typedef는 컴파일러에 의해서 처리되지만, #define은 전처리기에 의하여 처리된다.
2. 기계적인 치환과 그렇지 않은 치환
: #define은 기계적인 텍스트 치환이다. 하지만 typedef는 사용자가 새로운 자료형을 자료형을 정의한 것으로 컴파일러가 컴파일 내내 그의미를 알고 있다.
따라서, 새로운 자료형을 정의할 때는 typedef를 사용하는 편이 좋다.
'2학년 2학기 > c언어' 카테고리의 다른 글
14-3장 #ifdef (0) | 2024.12.02 |
---|---|
14-2장 함수 매크로 (0) | 2024.12.02 |
13-12장 다차원 배열의 동적 할당 ⭐⭐⭐ (0) | 2024.11.26 |
13-11장 Wild pointer (0) | 2024.11.26 |
13-10장 Dangling pointer (0) | 2024.11.26 |