<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > (*(void(*)())0) ()講解-單片機另類(lèi)的復位

(*(void(*)())0) ()講解-單片機另類(lèi)的復位

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏
硬件地址跳到0處

(*(void(*)())0)();

本文引用地址:http://dyxdggzs.com/article/201611/323698.htm

預備知識

float (*h)();

表示h是一個(gè)指向返回值float類(lèi)型的函數的指針

(float(*)())

表示一個(gè)"指向返回值float類(lèi)型的函數的指針"的類(lèi)型轉換符

假設fp是一個(gè)函數指針,那么如何調用fp所指向的函數,調用方法如下:

(*fp)();

按照人們的慣性思維,那么我們可以這樣寫(xiě)

(*0)();

上式不能生效,因為運算符*必須要一個(gè)指針來(lái)做操作數,而且這個(gè)指針還必須是個(gè)函數指針。所以我們必須要把0強制轉換成一個(gè)函數指針(指向返回值為void類(lèi)型的函數的指針)

假設fp是個(gè)float指針,聲明如下

float * fp;

把0強制轉換成一個(gè)float指針(把變量fp去掉就可以了)

(float *)0;

類(lèi)似:

假設fp是函數指針為void類(lèi)型的函數的指針),聲明如下:

void (*fp)();

把0強制轉換成該函數指針(變量fp去掉就可以了)

(void(*)())0

最后用(void(*)())0代替fp,從而得到調用的用法

(*(void(*)())0)();

可用typedef簡(jiǎn)化函數指針

例如:

typedef char * string;

string test="hello";

類(lèi)似

typedef void(*func)(); //這樣func就表示一個(gè)函數指針的類(lèi)型

(*(func)0)();

例子

方法一:

typedef void (*pfunction)(void);

void FMI_Jump(void)
{
pfunction jump;
jump=(pfunction)(0x80000);
jump();

}

方法二:

((void(code *)(void))0xF400)();



關(guān)鍵詞: void單片機的復

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>