你的參數(shù)傳遞的不對(duì),max和min已經(jīng)是指針了,在加上*號(hào)就不是指針了。調(diào)用fun函數(shù)的時(shí)候直接傳max和min就行,不用帶*號(hào)。使用&符號(hào)傳遞時(shí)雖然滿足了類型的要求,但是實(shí)際是對(duì)指針再次取地址了,參數(shù)內(nèi)容也不對(duì)。
成都創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)景谷,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
這是說明類型不兼容,強(qiáng)制轉(zhuǎn)類型。在聲明變量 char* 時(shí)改成 const char *即可。
這是因?yàn)樵贑語言中,主調(diào)函數(shù)到子函數(shù)的參數(shù)傳遞都只是單向的。為了要把在子函數(shù)中的操作效果帶回到主調(diào)函數(shù)中,就只有利用指針(指向主調(diào)函數(shù)中的變量),直接把主調(diào)函數(shù)中變量的值進(jìn)行修改。
另外,對(duì)指針來說,定義的時(shí)候加*是為了區(qū)別指針變量與非指針變量,如果函數(shù)定義中的int *a,int *b的兩個(gè)星號(hào)去掉,那就說明形參變量不是指針類型了。
tail是一個(gè)指針,它指向的內(nèi)容會(huì)因函數(shù)內(nèi)的變化而發(fā)生變化,但它本身不會(huì)因函數(shù)的變化而發(fā)生變化。
s表示變量m本身,對(duì)*s的賦值就是對(duì)m賦值,所以*s=a[p]是正確的。請(qǐng)注意,函數(shù)fun中的s變量是一個(gè)地址,只對(duì)該地址進(jìn)行重新賦值,并不對(duì)其所指向的變量m造成影響。所以s=&a[p]不改變main函數(shù)中m變量的值。
}*LinkList; //結(jié)構(gòu)體。修改為 typedef struct LNode{ int data;struct LNode *next;}*LinkList; //結(jié)構(gòu)體。
你中間的maxA變量,其實(shí)是子函數(shù)的形參變了。
結(jié)構(gòu)體數(shù)組傳給指針,實(shí)質(zhì)上是不可能的,本質(zhì)上傳的是數(shù)組首地址,根據(jù)偏移來操作數(shù)組,這樣看起來好像是真在操作數(shù)組一樣。就和普通指針一樣使用,只不過它是結(jié)構(gòu)體數(shù)組。
可以把結(jié)構(gòu)體作為參數(shù)啊,不去取地址的意思,是引用的意思,函數(shù)執(zhí)行時(shí)修改L的值,就直接的修改了實(shí)參的值,相當(dāng)于地址傳遞了。真正調(diào)用的時(shí),如下:SqList tempStruct;InitList_Sq(tempStruct)這樣就可以了。
1、語法上講沒有問題,但實(shí)際上來說一般來說是不穿NULL的,因?yàn)闆]什么意義。如果真出現(xiàn)了要小心。
2、指定形參默認(rèn)值是C++的語法,標(biāo)準(zhǔn)C是不支持這種語法的。使用c++語法,通常可以保存文件時(shí)使用CPP后綴保存。另外,形參的默認(rèn)值是在聲明函數(shù)原型的時(shí)候指定,不是在函數(shù)定義的時(shí)候指定。
3、intcmp是和GetKeyFunc_t對(duì)應(yīng)起來的。而你現(xiàn)在錯(cuò)在了CmpFunc_t這個(gè)函數(shù)參數(shù)上了。你把怎樣的函數(shù)參數(shù)指針傳給了BST_t *newBST?你沒交代清楚啊,你把錯(cuò)誤指針傳給newBST函數(shù)的第一個(gè)參數(shù),編譯器肯定報(bào)錯(cuò)了。
4、這個(gè)是根據(jù)你所以要求的結(jié)果來決定。例如。int fun(int t)如果你需要從外界接受一個(gè)參數(shù)進(jìn)來。那你這里就要定一個(gè)int t;如果不需要對(duì)外界內(nèi)容進(jìn)行接收。直接用void就可以了。
5、定義為空指針,在后面程序中可以將這個(gè)空指針指向其他地址變量。如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。指針不僅可以是變量的地址,還可以是數(shù)組、數(shù)組元素、函數(shù)的地址。
6、關(guān)鍵的一點(diǎn)你要理解調(diào)用函數(shù)在傳入?yún)?shù)的時(shí)候有個(gè)副本的概念。
文章名稱:c語言函數(shù)指針參數(shù) c語言函數(shù)指針的用法
網(wǎng)站鏈接:http://chinadenli.net/article27/dehsdcj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站營銷、域名注冊(cè)、服務(wù)器托管、云服務(wù)器、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)