|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)教一個(gè)c語(yǔ)言問(wèn)題:感覺(jué)嵌入式c編程很不一樣 |
| 作者:珊瑚蟲(chóng) 欄目:嵌入式系統(tǒng) |
定義了一個(gè)二維指針數(shù)據(jù)如下: void * function[][2]= { (void *)TEST_Cache, "Cache ", (void *)TEST_Kb, "KEYBOARD ", (void *)TEST_Uart0, "UART 0 ", (void *)TEST_Uart0Fifo, "UART 0 FIFO ", (void *)TEST_Uart1, "UART 1 ", (void *)TEST_Uart1Fifo, "UART 1 FIFO ", (void *)USBON, "USB TEST ", (void *)TEST_SlowMode, "SLOW Mode ", (void *)TEST_HoldMode, "HOLD Mode ", (void *)TEST_Zdma0, "Zdma0 ", (void *)TEST_Zdma1, "Zdma1 ", (void *)TEST_WDTimer, "WDTimer ", (void *)Display_Rtc, "RTC(DISPLAY) ", (void *)TEST_Rtc_Alarm, "RTC(TEST) ", (void *)TEST_Rtc_Tick, "RTC Tick ", (void *)TEST_Iic, "IIC(KS24C02) ", (void *)TEST_PLL, "Change PLL ", (void *)TEST_Pwm, "TEST PWM (BEEP) ", (void *)TEST_Led, "TEST LED ", // (void *)ProgramFlash, "FLASH writer ", 0,0 }; 調(diào)用函數(shù)如下: ( (void (*)(void)) (function[i][0]) )(); 這里( (void (*)(void))是什么意思啊?我覺(jué)得function[i][0]()就可以了啊. |
| 2樓: | >>參與討論 |
| 作者: 忘情天書(shū) 于 2005/6/2 8:52:00 發(fā)布:
((void (*)(void))是無(wú)返回值,無(wú)傳遞參數(shù)的函數(shù)類(lèi)型 ( (void (*)(void)) (function[i][0]) )();應(yīng)該是函數(shù)指針調(diào)用 |
|
| 3樓: | >>參與討論 |
| 作者: high 于 2005/6/2 9:39:00 發(fā)布:
function[i][0]只是一個(gè)void*指針! (void(*)(void))把指針類(lèi)型轉(zhuǎn)換成函數(shù)指針.且這個(gè)函數(shù)是無(wú)傳遞參數(shù),返回類(lèi)型為void*的. |
|
| 4樓: | >>參與討論 |
| 作者: 珊瑚蟲(chóng) 于 2005/6/2 11:47:00 發(fā)布:
明白了,謝謝樓上的兩位 3x |
|
| 5樓: | >>參與討論 |
| 作者: zizzfish 于 2005/6/11 21:58:00 發(fā)布:
其實(shí)這樣寫(xiě)也可以。 (*function[i][0])() |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |