[討論] typedef的問題請教(已解決)
最近看到一個typedef struct敍述看不太懂,
在此跟大家請教一下..
以下是在Keil C環境所寫的code..
//Struct的定義
typedef struct _GPIO
{
...
}GPIO_REG, *P_GPIO_REG;
//Struct變數的宣告
GPIO_REG gpio_reg _at_ GPIO_BASE_ADDR;
以上, 我不太懂的地方是 "*P_GPIO_REG"這個部份,
這是做什麼用的呢?
要如何使用呢?
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.176.161
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1466251638.A.1C1.html
※ 編輯: MaxHaru (36.226.176.161), 06/18/2016 20:20:37
推
06/18 20:36, , 1F
06/18 20:36, 1F
→
06/18 20:37, , 2F
06/18 20:37, 2F
→
06/18 20:38, , 3F
06/18 20:38, 3F
→
06/18 20:38, , 4F
06/18 20:38, 4F
→
06/18 20:38, , 5F
06/18 20:38, 5F
→
06/18 20:39, , 6F
06/18 20:39, 6F
推
06/18 20:57, , 7F
06/18 20:57, 7F
→
06/18 21:18, , 8F
06/18 21:18, 8F
→
06/18 21:18, , 9F
06/18 21:18, 9F
→
06/18 22:37, , 10F
06/18 22:37, 10F
→
06/18 22:56, , 11F
06/18 22:56, 11F
推
06/18 23:39, , 12F
06/18 23:39, 12F
==================================================
謝謝各位的說明, 我說明一下我的理解, 看看對不對..
這樣的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
→
06/19 03:37, , 13F
06/19 03:37, 13F
推
06/22 17:22, , 14F
06/22 17:22, 14F