從變量名處說起(結(jié)合運算符的優(yōu)先級結(jié)合)
int p; //==>>一個普通的整型變量
int *p //==>>
(1)p先與*結(jié)合友题,p是一個指針块攒;
(2)再與int結(jié)合,指針所指向的的內(nèi)容的類型為int蹋岩;
(3)so绰沥,p就是一個返回int類型的指針云挟。
int p[4]; //==>>
(1)p先與[]結(jié)合辫诅,p是一個數(shù)組;
(2)再與int結(jié)合箕速,說明數(shù)組里的元素是int的酪碘;
(3)so,p是一個由int組成的數(shù)組盐茎。
int *p[4]; //==>>
(1)p先與[]結(jié)合兴垦,優(yōu)先級比*高,p是一個數(shù)組字柠;
(2)再與*結(jié)合探越,數(shù)組的元素是指針類型;
(3)再與int結(jié)合窑业,說明指針所指向的內(nèi)容的類型是int的钦幔;
(4)so,p是一個由返回int的指針所組成的數(shù)組常柄。
int (*p)[4]; //==>>
(1)p先與*結(jié)合鲤氢,p是一個指針;
(2)再與[]結(jié)合西潘,指針所指向的內(nèi)容是一個數(shù)組卷玉;
(3)再與int結(jié)合,說明數(shù)組里的元素是int的喷市;
(4)so相种,p是一個指向int的指針所組成的數(shù)組的指針。
int **p; //==>>
(1)p先與*結(jié)合品姓,p是一個指針寝并;
(2)再與*結(jié)合,指針所指向的元素是指針腹备;
(3)再與int結(jié)合食茎,說明該指針所指向的元素是int的;
(4)so馏谨,**p是二級指針。
int p(int); //==>>
(1)p先與()結(jié)合附迷,p是一個函數(shù)惧互;
(2)再進入()分析哎媚,函數(shù)有一個int變量的參數(shù);
(3)再與int結(jié)合喊儡,說明函數(shù)的返回值是int的拨与。
int(*p)(int); //==>>
(1)p先與指針結(jié)合艾猜,p是一個指針买喧;
(2)再與()結(jié)合,指針指向的是一個函數(shù)匆赃;
(3)再與()里的int結(jié)合淤毛,說明函數(shù)有一個int型的參數(shù),
再與最外層的int結(jié)合算柳,即函數(shù)的返回類型為int 低淡;
(4)so,p是一個指向有一個int參數(shù)且返回類型為整型的函數(shù)的指針瞬项。
int*(*p(int))[3]; //==>>
(1)p先與()結(jié)合蔗蹋,p是一個函數(shù);
(2)在()中囱淋,與int結(jié)合猪杭,函數(shù)是一個int變量參數(shù);
(3)再與*結(jié)合妥衣,說明函數(shù)返回的是一個指針皂吮;
(4)再跟[]結(jié)合,說明返回的指針指向的是一個數(shù)組称鳞;
(5)再與*結(jié)合涮较,說明數(shù)組里的元素是指針;
(6)再與int結(jié)合冈止,說明指針指向的內(nèi)容是int狂票;
(7)so,p是一個參數(shù)為一個int參數(shù)且返回一個指向由int指針變量組成的數(shù)組的指針指針變量的函數(shù)熙暴。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者