函式位址傳參

2021-08-20 17:08:42 字數 898 閱讀 3364

#include stdio.h

intmain();

for(i=

0;iprintf

("%d "

,a[i]);  

printf

("\n排序之後\n"

);  

sort(a,n);  

相當於是sort(&a,n);

這裡是將陣列a的位址傳遞下去,接下來承接這個位址的函式

就是對這個位址中的值進行操作,所以一般使用這個位址傳參

1.是想通過另乙個

函式比較複雜的操作,來改變本函式中的某乙個值

2.因為這種方式用到了兩種函式,所以實際上利用了形參和實參

for(i=0;i

printf

("%d "

,a[i]);  

return0;}

void sort(

intb,

intn){ 

相當於是sort(char *b,int n)

這裡用指標變數進行接收,相當於下面對b的操作都是對上面的位址中的值進行的操作

所以一般是需要對乙個函式的值進行頻繁複雜的更改,通過位址傳參的方式將這個位址傳遞下來

另乙個函式拿到這個位址,對位址中的值隨時進行更改

但是也有的位址傳參不是為了拿到位址值,對位址中的值進行更改,而是只是為了拿到這個引數值 

inti,j;  

inttmp=

0;  

for(i=0;i

for(j=

0;j1

-i;j++){  

if(b[j]>b[j+

1]){  

tmp=b[j];  

b[j]=b[j+

1];  

b[j+

1]=tmp;  

python 函式傳參 傳參和傳引用

首先還是應該科普下函式引數傳遞機制,傳值和傳引用是什麼意思?函式引數傳遞機制問題在本質上是呼叫函式 過程 和被呼叫函式 過程 在呼叫發生時進行通訊的方法問題。基本的引數傳遞機制有兩種 值傳遞和引用傳遞。值傳遞 passl by value 過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在...

函式傳值傳參

var obj function x 內部宣告的變數不會影響外面的obj物件 console.log obj.n 2 obj 傳入的是乙個指標 值 x是obj指標的副本,兩者都指向同乙個物件 console.log obj.n 3 例子二 var x 1 function a x a x conso...

c語言關於函式傳參之傳位址和傳資料問題

下面從傳資料和傳位址的區別分開講述 我們先了解一下乙個函式中的什麼資料都存放在什麼地方的,什麼時候它需要傳位址,什麼時候只需要傳遞資料,並且什麼三時候會被釋放掉 如圖是c語言的記憶體分布圖 1 當我們在乙個函式內申請乙個變數時 calloc,malloc等函式申請的記憶體空間和static修飾的變數...