p函數就是個冒泡遞減排序功能。標準函數頭寫法應該是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 *型指針。函數p中并沒有改變a,改變的是a指向的目標a[0]~a[4]。所以不知你問的具體是啥意思……
創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、網站建設、林州網絡推廣、微信平臺小程序開發、林州網絡營銷、林州企業策劃、林州品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯公司為所有大學生創業者提供林州建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com
其實c語言有兩種形參和實參之間傳值方式,一種是傳值,一種是傳這個值的地址,但實際上地址也是一個值,對應計算機存儲空間上的編號,所以統稱為傳值。
return是用來做函數返回值的(也就是說函數也是有其類型的),比如函數定義為int類型,則return返回的也是int型(不管你return后面跟的是什么類型,都要被強制轉換為int型)。形參傳遞都是對實參值的拷貝,指針變量傳遞過去的是地址(也是拷貝哦,只不過是地址),然后在函數中通過地址直接操作地址中所保存的變量的值(相當于直接操作變量)來達到更改實參指針所指向的變量的值(有點拗,不懂可以聯系我,慢慢講解一下,指針是非常重要的哦)。接下來講解一下int
*p(int
*pA);
首先你定義的是一個指針函數(即該函數返回值是一個指針,并且是一個指向int類型的指針,也可以研究一下函數指針的作用哦),然后該函數的參數也是一個指向Int類型的指針變量。調用該函數時,傳遞給pA的是指針(指針的意思就是地址,指針變量是用來存放該地址的變量),也是實參指針變量的值的拷貝(明白了吧?^_^);接下來是返回值,從定義只能看出,其返回值為指向int類型的指針,而這個指針指向什么地址,就要看你的具體return返回值語句了。
其實C語言中函數參數的傳遞 全 是 值傳遞
所謂的 地址 傳遞,只不過是程序員那么稱呼他們而已
比如函數: int func(int input);
如果我把 input當做普通值使用( 例如:printf("%d\n",input); )它就是一整形
如果我把 input當做一指針使用( 例如: *((int*)input) = 5; )它就是一指針,
但是你自己要明白:
1.調用函數傳的是什么值,用于什么作用,
2.被調用函數中如何使用這個參數