1樓:黃亮anthony
從左往右讀,遇到括號(或識別符號),從右往左讀,直到遇到對應的括號。在括號內重複這個過程。
從左往右讀int (
從右往左讀) (const char *, const char *);
這個型別記作A
從左往右讀*Register (
從右往左讀)
這是乙個函式A* Register(),引數見下從左往右讀int (
從右往左讀)(const char *, const char *)這是型別記作B
從左往右讀*pf
這是乙個指標B* pf
整個是A* Register(B* pf)注意到A和B一樣,typedef乙個A就可以了typedef int A(const char *, const char *)
A* Register(A* pf)
2樓:
首先這個
int(
*Register
(int(*
pf)(
const
char*,
const
char
*)))
(const
char*,
const
char*);
是函式宣告,我之前從沒寫過這種函式宣告,巢狀關係一多會很難讀懂。
我隨意測試了下,它看起來像這樣:
#include
// int(*pf)(const char*, const char*);
typedef
int(
*MATCH
)(const
char*,
const
char*);
// 這是函式宣告
int(
*Register
(int(*
pf)(
const
char*,
const
char
*)))(
const
char*,
const
char*);
// 前乙個函式宣告可以寫成這樣
typedef
MATCH(*
REGISTER
)(MATCH
);// 這是乙個和 MATCH 簽名相同的函式intStrCounter
(const
char
*strA
,const
char
*strB
)// 這是函式定義
MATCH
Register
(MATCH
match
)int
main
(void
)真是個空虛的週末早晨啊。
關於精聽法練習聽力的困惑?
逸品賢茗堂 謝瑤!精煉聽力是在下的弱項。本科的時候最頭疼的是聽力課。滿滿的血淚。那時候詞彙量低階 語法低階。後來嘗試大聲模仿newsspeakers的發音和語調大聲朗讀新聞原稿,幾乎都要背下來了。結果沒錯,然並卵。那時候是英語沒開啟任督二脈的階段。結果口語提高很快。精讀課老師累了的時候就要我和另乙個...
C 11 中 typedef 和 using 有什麼區別?
碧水溪風 說個真事,同事n年c 開發經驗,c 特別溜。有一次我拿typedef和 define反過來覆過去問他,一分鐘不到他就懵圈了,根本分不清typedef和 define該怎麼用了。 原子筆 using 是C 11用來擴充套件typedef 的,不在typedef上擴充套件是為了盡可能保持C語言...
關於晨小晨精分的錘真嗎?
我一直想說但沒說,因為工作原因。借這個月問題,大概地說一下簡單邏輯吧。第一,微博公告說三個賬號用不同號碼註冊,微博又說三個賬號於2019年6月起在同一裝置登入。但是!微博沒有告訴我,三個註冊的手機號碼的主人是否同乙個人 我們都知道,手機號碼早就實名制了 微博也沒有告訴我,三個賬號在2019年6月以前...