typedef
1怀骤、起名字
2暮的、范圍規(guī)則
#define
1具篇、簡單的文本替換
2、使用 #ifdef ,#ifndef等來進(jìn)行邏輯判斷,還可以使用#undef來取消定義
從變量名看起蛋铆,先往右饿幅,再往左,碰到一個圓括號就調(diào)轉(zhuǎn)閱讀的方向
type (*)(....)函數(shù)指針
type (*)[]數(shù)組指針
int (*func)(int *p);
首 先找到變量名func戒职,外面有一對圓括號栗恩,而且左邊是一個*號,這說明func是一個指針洪燥;然后跳出這個圓括號磕秤,先看右邊,又遇到圓括號捧韵,這說明 (*func)是一個函數(shù)市咆,所以func是一個指向這類函數(shù)的指針,即函數(shù)指針再来,這類函數(shù)具有int*類型的形參蒙兰,返回值類型是int。
int (*func[5])(int *);
func 右邊是一個[]運(yùn)算符芒篷,說明func是具有5個元素的數(shù)組搜变;func的左邊有一個*,說明func的元素是指針(注意這里的*不是修飾func针炉,而是修飾 func[5]的挠他,原因是[]運(yùn)算符優(yōu)先級比*高,func先跟[]結(jié)合)篡帕。跳出這個括號殖侵,看右邊,又遇到圓括號镰烧,說明func數(shù)組的元素是函數(shù)類型的指 針拢军,它指向的函數(shù)具有int*類型的形參,返回值類型為int怔鳖。