int download_addr;
void abc(void)
{
download_addr = 0x0c400000;
void (*fun)(void);
fun = (void (*)(void))download_addr;
(*fun)();
}
解釋:
download_addr 是一個函數指針
void (*fun)(void); 定義一個函數指針func 輸入參數為void返回類型為void
fun = (void (*)(void))download_addr;
這句話是將download_addr這個函數指針強制轉換為參數為void返回類型為void的函數指針,然后賦值給func
最后一句就是要執行這個函數