2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
tp_dev是一個(gè)結(jié)構(gòu)體,init、scan都是他的結(jié)構(gòu)體成員,這幾個(gè)成員的類型是函數(shù)指針,也就是說指向了一個(gè)函數(shù),使用這個(gè)指針,就等于是函數(shù)調(diào)用。
所以當(dāng)定義tp_dev的時(shí)候,init成員被你初始化為TP_Init, 也就是說tp_dev.init 就是指向了TP_Init()函數(shù),所以你寫tp_dev.init(); 就等于調(diào)用TP_Init
_m_tp_dev tp_dev=
{
TP_Init,
...
}
同樣如果你tp_dev.scan(),就是調(diào)用TP_Scan

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
tp_dev為外結(jié)構(gòu)體變量,當(dāng)變量被引用時(shí),它必須時(shí)一個(gè)已經(jīng)賦值(初始化)的變量,所以tp_dev.scan(0)被引用時(shí),調(diào)用的時(shí)初始化了的函數(shù)指針scan()所指向的函數(shù)TP_Scan()
添加回答
舉報(bào)