作者elefant ()
看板C_and_CPP
標題Re: [問題] typedef與defind的問題
時間Sat Sep 4 18:53:23 2010
※ 引述《Don010 (fuck)》之銘言:
: 請問一下 typedef 與 define 的差別在哪裡?
: (1) typedef int A
: (2) #define A int
: 請問一下這2式有差別嗎?
: 還是都是用A取代int?
: 另外我想問一下 typedef __int64 是什麼意思?
: 謝謝.
至少下面的用法兩者會有差異
#define INT_PTR int*
INT_PTR a, b ; // a型別為 int*, 而 b型別為int,
// 因為#define只是單純的替換
==============================================
typedef int * INT_PTR ;
INT_PTR a, b ; // a和b的型別都是int*
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.19.58
→ hilorrk:還有 const INT_PTR 前者為 int const* 後者為 int *const 09/04 19:05
推 wzbird:我還是不懂為什麼第一種的b會是int? 不是都是int* 09/04 19:17
→ uranusjr:int *a, b 本來就是前者 int * 後者 int 09/04 19:18
→ uranusjr:#define x y 只是要求前處理器把 x 替換成 y, 編譯器從一 09/04 19:19
→ uranusjr:開始就會「看到」 int *a, b; 09/04 19:20
推 wzbird:喔喔 我看懂了 感謝 09/04 22:31