1、有2個(gè)箱子,編號分別是a,b,a裝了一個(gè)蘋果,b裝了一個(gè)梨子,有2張紙,編號分別是p,q,p紙上寫著a,q紙上寫著b。
在運(yùn)河等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都營銷網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),運(yùn)河網(wǎng)站建設(shè)費(fèi)用合理。
2、在這個(gè)函數(shù)中 void swap(int *p1, int *p2){ int *temp;printf(I am swaping...haha\n);temp=p1;p1=p2;p2=temp;} 交換的只是p1,p2的值,但是,從pointer_1,pointer_2向p1,p2的傳遞是單向的。
3、在C語言中指針函數(shù)和函數(shù)指針是兩個(gè)不同的概念,不能混淆。指針函數(shù)本質(zhì)上是函數(shù),是一個(gè)返回類型為指針的函數(shù),如:int* max(int *array,int n){ //找最大值的地址 return 最大值的地址;} max就是一個(gè)指針函數(shù)。
1、那你應(yīng)該用指針的指針才行,然后函數(shù)返回指針。
2、函數(shù)A的返回值錯(cuò)誤。雖然地址和指針很像,但還是不同的兩個(gè)東西。而且,一旦出了函數(shù)A,返回的地址,也就該被回收,會導(dǎo)致程序出錯(cuò)。是非常危險(xiǎn)的行為。舉個(gè)例子說明下吧。
3、struct student *p, *q, *head;這里head不就是 struct student 類型的指針么。
4、指針里的值是可以返回的 就像你說的 “return i,主調(diào)函數(shù)知道一個(gè)i就可以了 ”同樣主函數(shù) 知道一個(gè)指針里的地址就可以了。
5、void定義過后的函數(shù)不是說它沒有返回值,而是它返回的是個(gè)空,也就是null,可以加return null,也可以不加。
6、沒有默認(rèn)的返回值,如果最后的條件不成立呢?不返回啊?? return z=1; 這是什么?。?? 這就像漢語說,我爸爸是我爸爸。。
函數(shù)A的返回值錯(cuò)誤。雖然地址和指針很像,但還是不同的兩個(gè)東西。而且,一旦出了函數(shù)A,返回的地址,也就該被回收,會導(dǎo)致程序出錯(cuò)。是非常危險(xiǎn)的行為。舉個(gè)例子說明下吧。
void定義過后的函數(shù)不是說它沒有返回值,而是它返回的是個(gè)空,也就是null,可以加return null,也可以不加。
struct student *p, *q, *head;這里head不就是 struct student 類型的指針么。
是被釋放了,可是你已經(jīng)把這個(gè)值賦給了調(diào)用者啊。比如函數(shù)返回一個(gè)整形數(shù)字,函數(shù)調(diào)用完,為這個(gè)整形數(shù)字分配的內(nèi)存空間就已經(jīng)釋放了,可是這個(gè)值被賦給了調(diào)用函數(shù),所以就能用啊。
所謂函數(shù)類型是指函數(shù)返回值的類型。在C語言中允許一個(gè)函數(shù)的返回值是一個(gè)指針(即地址),這種返回指針值的函數(shù)稱為指針型函數(shù)。