[問題] ((TYPE *) 0)-> .... 代表的是??
有沒有高手請教一下我的疑惑
感恩
這MACRO 最主要是要回傳This 指標的PRIVATE 資料
其中
Record 為一指標 BBS_PROTOCOL * This
TYPE 為一結構
Field 為結構TYPE 中一個 component
#define _CR(Record, TYPE, Field) \
((TYPE *) ( (CHAR8 *)(Record) - (CHAR8 *) &(((TYPE *) 0)->Field)))
1.最不能理解的是 0 ((TYPE *) 0) 這結構0代表是神麼意思?
2. &(((TYPE *) 0)->Field))) 轉型為 (CHAR8 *) ? 位址轉型為 指向 CHAR8 的指標
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.22.230
推
08/11 21:32, , 1F
08/11 21:32, 1F
→
08/11 21:35, , 2F
08/11 21:35, 2F
→
08/11 23:26, , 3F
08/11 23:26, 3F
→
08/11 23:26, , 4F
08/11 23:26, 4F
→
08/12 01:14, , 5F
08/12 01:14, 5F
→
08/12 01:16, , 6F
08/12 01:16, 6F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):