p函數(shù)就是個(gè)冒泡遞減排序功能。標(biāo)準(zhǔn)函數(shù)頭寫法應(yīng)該是void p(int a[])而不是void p(int a[5]),即使寫成void p(int a[5]),編譯器也是按void p(int a[])解釋而不按void p(int a[5])解釋,而且這里a[]的意思就是定義a是int *型指針。函數(shù)p中并沒有改變a,改變的是a指向的目標(biāo)a[0]~a[4]。所以不知你問的具體是啥意思……
成都創(chuàng)新互聯(lián)專注于江西網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供江西營銷型網(wǎng)站建設(shè),江西網(wǎng)站制作、江西網(wǎng)頁設(shè)計(jì)、江西網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造江西網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供江西網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
值傳遞,調(diào)用函數(shù)的時(shí)候傳給調(diào)用函數(shù)的是變量的值,例如:
定義 max函數(shù):
int?max(int?a,int?b){
if(ab)?return?a;
else?return?b;
}
調(diào)用max函數(shù)的時(shí)候這樣調(diào)用:
int?a=1;
int?b=2;
int?m;
m?=?max(a,b);
址傳遞調(diào)用函數(shù)的時(shí)候傳給調(diào)用函數(shù)的是變量的地址,例如:
定義交換函數(shù):
void?swap(int?*a,int?*b){
int?t;
t?=?*a;
*a?=?*b;
*b?=?t;
}
調(diào)用swap函數(shù)的時(shí)候這樣調(diào)用:
int?a=1;
int?b=2;
swap(a,b);
調(diào)用swap函數(shù)后,a,b中的值進(jìn)行了交換。
注意:這里的int可以換成其他類型的數(shù)據(jù),比如double,char甚至指針類型。
return是用來做函數(shù)返回值的(也就是說函數(shù)也是有其類型的),比如函數(shù)定義為int類型,則return返回的也是int型(不管你return后面跟的是什么類型,都要被強(qiáng)制轉(zhuǎn)換為int型)。形參傳遞都是對(duì)實(shí)參值的拷貝,指針變量傳遞過去的是地址(也是拷貝哦,只不過是地址),然后在函數(shù)中通過地址直接操作地址中所保存的變量的值(相當(dāng)于直接操作變量)來達(dá)到更改實(shí)參指針?biāo)赶虻淖兞康闹担ㄓ悬c(diǎn)拗,不懂可以聯(lián)系我,慢慢講解一下,指針是非常重要的哦)。接下來講解一下int
*p(int
*pA);
首先你定義的是一個(gè)指針函數(shù)(即該函數(shù)返回值是一個(gè)指針,并且是一個(gè)指向int類型的指針,也可以研究一下函數(shù)指針的作用哦),然后該函數(shù)的參數(shù)也是一個(gè)指向Int類型的指針變量。調(diào)用該函數(shù)時(shí),傳遞給pA的是指針(指針的意思就是地址,指針變量是用來存放該地址的變量),也是實(shí)參指針變量的值的拷貝(明白了吧?^_^);接下來是返回值,從定義只能看出,其返回值為指向int類型的指針,而這個(gè)指針指向什么地址,就要看你的具體return返回值語句了。