c語言函數(shù)形參是指針 c語言指針形參和實(shí)參

C語言函數(shù)里的參數(shù)是指針的問題

函數(shù)定義和函數(shù)調(diào)用是兩個(gè)概念,函數(shù)定義 為f(int *arr),表示參數(shù)是一個(gè)整型指針,因此使用該函數(shù)時(shí)要傳遞一個(gè)地址,如變量int a=0; 調(diào)用函數(shù)f傳遞a的地址時(shí)需要寫為f(a);而對(duì)于數(shù)組來說,如int b[]=[1,2,3], b本身就是數(shù)組首元素的地址,因此調(diào)用函數(shù)f傳遞數(shù)組首地址需要寫為f(b)。

萬載ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

C語言中,函數(shù)形參為指針,調(diào)用時(shí)的實(shí)參為立即數(shù),應(yīng)該怎么轉(zhuǎn)化類型?

立即數(shù)不能轉(zhuǎn)換成指針,因?yàn)樗辉趦?nèi)存中。(int*)2表示從地址0x02開始的int型的地址空間。如果你的函數(shù)形參是指針而實(shí)參卻需要傳遞立即數(shù),說明這個(gè)函數(shù)編的是有問題的。

如果你一定要傳遞,可以用一個(gè)中間變量存放立即數(shù),然后傳遞該變量的地址。

c語言函數(shù)的形參為指針變量時(shí),對(duì)應(yīng)的實(shí)參可以是數(shù)組名。怎么理解呀

舉例:

void f(int *p)

{

}

int arr[]={1,2,3};

因?yàn)楹瘮?shù)f的形參是一個(gè)類型為int的指針變量,所以調(diào)用f時(shí),可以將數(shù)組名arr作為實(shí)參傳給形參p。即可以這樣調(diào)用:f(arr);

關(guān)于c語言?當(dāng)實(shí)參是數(shù)組名?形參是指針變量時(shí)

在C語言,數(shù)組無論作為參數(shù)還是返回值,都是以指針形式返回或者傳遞的。在數(shù)組中,數(shù)組名字代表的是數(shù)組第1個(gè)元素的地址。比如如下數(shù)組。

int

a[10]

=

{1,2,3,4,5,6};

數(shù)組名a,實(shí)際上相當(dāng)于a[0]。所以,當(dāng)實(shí)參是數(shù)組名,形參是指針變量時(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語言指針形參和實(shí)參
瀏覽地址:http://bm7419.com/article20/ddegsco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航虛擬主機(jī)、網(wǎng)站內(nèi)鏈自適應(yīng)網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)