2012-08-30 55 views

回答

20

當您想要創建指針類型的別名時,存在差異。

typedef int *t1; 
#define t2 int * 

t1 a, b; /* a is 'int*' and b is 'int*' */ 
t2 c, d; /* c is 'int*' and d is 'int' */ 

此外,typedef服從範圍規則,即可以聲明一個類型的本地的塊。

另一方面,如果要在預處理器指令中管理類型,則可以使用#define