函數(shù)定義和函數(shù)調(diào)用是兩個概念,函數(shù)定義 為f(int *arr),表示參數(shù)是一個整型指針,因此使用該函數(shù)時要傳遞一個地址,如變量int a=0; 調(diào)用函數(shù)f傳遞a的地址時需要寫為f(a);而對于數(shù)組來說,如int b[]=[1,2,3], b本身就是數(shù)組首元素的地址,因此調(diào)用函數(shù)f傳遞數(shù)組首地址需要寫為f(b)。
萬載ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
立即數(shù)不能轉(zhuǎn)換成指針,因為它不在內(nèi)存中。(int*)2表示從地址0x02開始的int型的地址空間。如果你的函數(shù)形參是指針而實參卻需要傳遞立即數(shù),說明這個函數(shù)編的是有問題的。
如果你一定要傳遞,可以用一個中間變量存放立即數(shù),然后傳遞該變量的地址。
舉例:
void f(int *p)
{
}
int arr[]={1,2,3};
因為函數(shù)f的形參是一個類型為int的指針變量,所以調(diào)用f時,可以將數(shù)組名arr作為實參傳給形參p。即可以這樣調(diào)用:f(arr);
在C語言,數(shù)組無論作為參數(shù)還是返回值,都是以指針形式返回或者傳遞的。在數(shù)組中,數(shù)組名字代表的是數(shù)組第1個元素的地址。比如如下數(shù)組。
int
a[10]
=
{1,2,3,4,5,6};
數(shù)組名a,實際上相當(dāng)于a[0]。所以,當(dāng)實參是數(shù)組名,形參是指針變量時,只要保證數(shù)據(jù)類型一致即可傳遞。如下面的示例代碼:
#include stdio.h
void f(int *p, int size) {
for (int inx=0; inx!=size; ++inx) printf("%d\t",p[inx]);
printf("\n");
}
int main()
{
int a[4] = {1,2,3,4};
f(a,4);
return 0;
}
文章題目:c語言函數(shù)形參是指針 c語言指針形參和實參
瀏覽地址:http://vcdvsql.cn/article20/ddegsco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航、虛擬主機、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)