利用指針對函式傳參的兩種方式

2021-09-28 17:37:17 字數 1244 閱讀 3338

函式傳參的兩種方式:

第一種方式:

直接見**:

#include

#include

#include

void

tiqu

(char

*a,int

*n,int

*m,int

*j,int

*k);

intmain()

void

tiqu

(char

*a,int

*n,int

*m,int

*j,int

*k)}

這裡要注意幾點:

用strlen函式需要用 cstring標頭檔案

用molloc函式需要用stdlib.h標頭檔案

直接定義指標變數,但是要注意,要給指標分配記憶體。即需要如下定義指標變數:

int

*n=(

int*

)malloc

(sizeof

(int))

;*n=

4;

將4存入到指標a所指向的記憶體單元中;

而不能直接定義 int *n,因為這樣只定義了指標變數,並沒有分配記憶體,不能直接賦值;例如如下**:

int

*n;*n=

4;

這樣就有問題,不知道4到底放在哪個記憶體單元。

第二種方式:

直接見**:

#include

void

tiqu

(char aa,

int*bb,

int*cc,

int*dd,

int*ee)

;int

main()

void

tiqu

(char aa,

int*bb,

int*cc,

int*dd,

int*ee)

}

這段**也需要注意幾點:

可以利用萬能標頭檔案:bits/stdc++.h

兩段**的區別

變數的定義方式:第乙個**段定義了指向int型的指標變數,第二個**段直接定義了int型變數。

兩種傳參方式的對比

這種方式使用變數 常量 陣列元素作為函式引數,實際是將實參的值複製到形參相應的儲存單元中,即形參和實參分別占用不同的儲存單元,這種傳遞方式稱為 引數的值傳遞 或者 函式的傳值呼叫 值傳遞的特點是單向傳遞,即主調函式呼叫時給形參分配儲存單元,把實參的值傳遞給形參,在呼叫結束後,形參的儲存單元被釋放,而...

pytest傳參的兩種方式?

在測試用例上加註解 pytest.mark.parametrize loginame,password 值1,值2 值1,值2 fixture傳參。1 在測試用例上加註解 pytest.mark.parametrize login data data2,indirect true login dat...

vue路由傳參的兩種方式

路由傳參的兩種方式params和query params相當於post,引數資訊不會顯示在位址列中,query相當於get,會把引數資訊暴露在位址列中 params傳參 第一步 在router.js中配置路由 例 import params from components params index ...