Re: [問題] typedef與defind的問題

看板C_and_CPP作者時間14年前 (2010/09/04 18:53), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
※ 引述《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

09/04 19:05, , 1F
還有 const INT_PTR 前者為 int const* 後者為 int *const
09/04 19:05, 1F

09/04 19:17, , 2F
我還是不懂為什麼第一種的b會是int? 不是都是int*
09/04 19:17, 2F

09/04 19:18, , 3F
int *a, b 本來就是前者 int * 後者 int
09/04 19:18, 3F

09/04 19:19, , 4F
#define x y 只是要求前處理器把 x 替換成 y, 編譯器從一
09/04 19:19, 4F

09/04 19:20, , 5F
開始就會「看到」 int *a, b;
09/04 19:20, 5F

09/04 22:31, , 6F
喔喔 我看懂了 感謝
09/04 22:31, 6F
文章代碼(AID): #1CWYKbqF (C_and_CPP)