1. typedef에 유효 범위가 있을까? 그렇다. 있다.
다른 c 파일에서 동일명으로 각기 다르게 typedef해서 사용해도 문제가 없다.
만약 내부 scope에서 다시 정의하면 해당 scope에서는 새로 정의된 typedef가 사용된다.
f1.c |
f2.c |
typedef unsigned short DATA
void f1(void) {
DATA x = 1;
}
|
typedef unsigned int DATA
void f2(void) {
DATA x = 2;
{
typedef unsigend char DATA
DATA z = 'a';
}
}
|
다만, 우리는 일반적으로 특정 헤더파일에 공통적으로 typedef를 정의하고 여러 c 파일에서 include해서 쓰게 된다.