|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
唉,一個別人不屑看的問題 |
| 作者:jackwu1780 欄目:嵌入式系統(tǒng) |
各位大哥,小弟最近在看代碼,可是C語言基礎(chǔ)不太好,有些問題在這里向大家請教一下。請大家指教,也幫小弟分析一下。首先定于一個結(jié)構(gòu) typedef struct { ST_LCD_INFO stLcdInfo; S32 (*iduRamAddress)(); S32 (*iduPowerOn)(); }ST_LCD_CONTROL; 然后聲明一個數(shù)組,數(shù)組里面的元素是指向ST_LCD_CONTROL結(jié)構(gòu)的指針。 ST_LCD_CONTROL *pstLcdControlObject[2] = {0, 0}; 在 pstLcdControlObject[1] = (ST_LCD_CONTROL*)malloc(sizeof(ST_LCD_CONTROL));等初始化之后, pstLcdControlObject[1]->iduPowerOn=Function_iduPoweron;把指針指向函數(shù)。 可是在使用的時候,竟然是這樣的 pstLcdControlObject[1]->iduPowerOn();(這個地方我不明白了) 正常時候,如果使用函數(shù)指針,不應(yīng)該是(*p)( )的嗎,可是在這個位置, pstLcdControlObject[1]->iduPowerOn還只是函數(shù)的指針,如果要調(diào)用這個函數(shù),需要(*pstLcdControlObject[1]->iduPowerOn)( )啊,怎么能象上面一樣用吶? |
| 2樓: | >>參與討論 |
| 作者: jackwu1780 于 2006/12/26 14:06:00 發(fā)布:
奇怪 譚浩強(qiáng)的書,新版的里面只說了(*p)(參數(shù)),這樣用,沒有說第一種用法p(參數(shù)),但是從VC6.0的結(jié)果看,兩個結(jié)果是一樣的。 |
|
| 3樓: | >>參與討論 |
| 作者: kk1271 于 2006/12/26 21:09:00 發(fā)布:
~ (*p)()和p()作用是一樣的!推薦使用P()。個人認(rèn)為譚浩強(qiáng)的書沒說清的很多 |
|
| 4樓: | >>參與討論 |
| 作者: sockit 于 2006/12/28 16:59:00 發(fā)布:
譚浩強(qiáng)的書真是基本之基本 真要做個項目是不夠用的,必要而非充分條件,哈哈 |
|
| 5樓: | >>參與討論 |
| 作者: wxjia2004 于 2007/2/27 14:53:00 發(fā)布:
結(jié)合函數(shù) 函數(shù)名其實也就是一個指針,函數(shù)就是這樣調(diào)用的啊fun();所以不要* |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |