推 LPH66: 讀 typedef 宣告法: 把 typedef 遮起來看 06/18 20:36
→ LPH66: 這裡它變成了 struct ... GPIO_REG, *P_GPIO_REG; 06/18 20:37
→ LPH66: 即是宣告前者為此 struct, 後者為指向此 struct 形態的指標 06/18 20:38
→ LPH66: 那麼這就是定義前者此名為這 struct 型態 06/18 20:38
→ LPH66: 後者此名為指向此形態的指標 06/18 20:38
→ LPH66: 指標型態 06/18 20:39
推 chuegou: GPIO_REG 新名稱 *P_GPIO_REG 指向此型態的指標 06/18 20:57
→ james732: 其實我覺得可以寫GPIO_REG *就沒必要多一個P_GPIO_REG 06/18 21:18
→ james732: 會出現這種寫法的人應該也有寫過WinAPI XD 06/18 21:18
→ Caesar08: 每次問到這個都要請LPH大神出來解答一下 XD 06/18 22:37
→ MaxHaru: 這篇被m了, 是我做錯什麼了嗎?? 06/18 22:56
推 EdisonX: 沒,你的問題很好,所以被 m 了。 06/18 23:39
==================================================
謝謝各位的說明, 我說明一下我的理解, 看看對不對..
這樣的typedef struct定義了兩個東西,
1. GPIO_REG: 即該struct
使用方法: GPIO_REG gpio_reg; //宣告一個這種struct的變數gpio_reg
2. P_GPIO_REG: 可以用來指定這種struct的pointer
使用方法: P_GPIO_REG p_gpio_reg = &gpio_reg;
/*
// 宣告一個可以用來指到該struct的point變數p_gpio_reg,
// 並將其指到gpio_reg;
// 效果等同於GPIO_REG*p_gpio_reg = &gpio_reg;
*/
※ 編輯: MaxHaru (36.226.176.161), 06/19/2016 00:21:51
推 Ethical: 了解 06/22 17:22