1樓:
這是一個函式,
函式名:errorsethandler
引數:function是個函式型別的變數,void (*)(int, char_t *),這個函式型別有兩個引數,一個整型,一個char_t *的指標型,返回是個void *指標。
返回:是個函式型別,void (*)(int , char_t *),型別說明跟上面一樣。
void (*errorsethandler(void (*function)(int etype, char_t *msg)))(int etype, char_t *msg)
補充一下:
通過typedef可以簡化這個函式的形式:
typedef void (*errhdlr)(int, char_t *);
然後這個函式可以簡化成:
errhdlr errorsethandler(errhdlr function)
這樣是不是就很直觀了
2樓:匿名使用者
從裡到外介紹:
void (*function)(int etype, char_t *msg)這個叫函式指標(請區別於指標函式:返回值是指標的函式),他首先是一個指標,這個指標指向的是一個函式,他的宣告方式是:
型別 (* 函式名指標)(引數),
typedef void (*myfun)(int etype, char_t *msg);/定義函式指標
你可以把他理解為int,float之類的一種型別,只是他是個指標
於是乎,你的程式變成了這樣:
void (*errorsethandler(myfun function))(int etype, char_t *msg)//
你的這個函式的名稱實際叫 errorsethandler,他是myfun型別的,即他也是一個函式指標,他的引數也是myfun型別的。
於是我們可以這樣寫:
myfun errorsethandler(myfun function);//定義函式
myfun errorsethandler(myfun function)函式體
累死俺了,到底對不對呢,請看以下程式,儘量根你的相同吧。
#include
void func1()
void func2()
typedef void (*myfunc)(void);
myfunc sethandler(myfunc function);
myfunc sethandler(myfunc function)
void main()
{myfunc pfunc1,pfunc2,pfunc3;
pfunc1=func1;
pfunc2=func2;
pfunc3=sethandler(pfunc1);
pfunc3();
pfunc3=sethandler(pfunc2);
pfunc3();
c語言for這個語句怎麼理解,C語言for 這個語句怎麼理解?
風千觴 for語句的一般形式為 for 表示式1 表示式2 表示式3 語句3個表示式的主要作用是 表示式1 設定初始條件,只執行一次。可以為零個 一個或多個變數設定初值。表示式2 是迴圈條件表示式,用來判斷是否繼續迴圈。在每次執行迴圈體前先執行此表示式,決定是否繼續執行迴圈。表示式3 作為迴圈的調整...
請問大家覺得這個女的長的怎麼樣?儘量說的詳細一點,從五官還有
來自溫湯鎮盡職的美人瓜 這年頭什麼樣的人都出來晒?沒鏡子可以撒泡尿照照啊? 按我來說呢,長得也就一般,年齡超不過20吧 手機使用者 這個女孩比較稚氣,五官不是那麼完美,但眉毛的嘴脣還是比較秀麗的,鼻子是弓鷹鼻,中等眼睛,小單眼皮,感覺挺有神。整體臉形未成熟,有待發育。頭髮料理得挺好的,應該是比較開朗...
從深圳寶安機場到香港尖沙咀怎麼乘車?盡量詳細點,謝謝
你好,希望我的回答可以幫助到你 首先做機場大巴到羅湖火車站,在羅湖出關會比較方便,因為這邊的車多,從羅湖出關一定是坐火車,可使用八達通,到旺角需要33元,從皇崗口岸出關坐大巴到旺角都要35元左右,不過皇崗的人比較多,如果你是自由行,建議上這個 http www.查詢香港交通資訊。另外提醒你,香港的交...