《c전문가 프로그래밍》 노트--define과typedef의 차이

900 단어 typedef
#include <stdio.h>

#define peach int

typedef int banana;



int main(void){

        unsigned peach a;

        unsigned banana b;

        return 0;

}

 
위 코드 중,
 
unsigned banana b;

이 줄을 컴파일하면 오류가 발생할 수 있습니다.
 
typedef는 철저한 '봉인' 형식이기 때문에 #define는 간단한 텍스트 교체일 뿐입니다.
다시 보면,
 
#include <stdio.h>

#define peach char*

typedef char* banana;



int main(void){

        peach a,b;

        banana c,d;

        printf("sizeof(a)=%d
",sizeof(a)); printf("sizeof(b)=%d
",sizeof(b)); printf("sizeof(c)=%d
",sizeof(c)); printf("sizeof(d)=%d
",sizeof(d)); return 0; }

실행 결과는 다음과 같습니다.
 
sizeof(a)=4 sizeof(b)=1 sizeof(c)=4 sizeof(d)=4

좋은 웹페이지 즐겨찾기