演算法入門總結(四) 引數傳遞

2021-08-29 04:06:29 字數 563 閱讀 8206

函式在演算法競賽中是不可避免的一部分,使用函式必然存在引數傳遞的問題,在c語言中,引數傳遞有傳值、傳位址、傳陣列、傳函式等方式。

直接在參數列將變數傳入即可,不會改變該變數的值

將變數的位址作為引數傳入,在函式宣告時用指標接收,會改變該變數的值

在函式引數的前面加上 & 符號表示將變數的引用傳入,即通過自定義乙個變數的「別名」達到直接對變數進行操作的目的。

使用方法如下:

int swap(int& a, int& b){};

int main()

在 main 函式中,a 和 b 的位址與 swap2 函式中 a 和 b 的位址是相同的,故可以實現類似於指標的操作。

陣列不可直接作為引數傳遞,因為陣列作為引數只是將第乙個元素的指標傳入,而陣列大小並不知道,因此傳遞陣列時應將陣列與陣列大小一起傳入。例如:

int sum(int *a, int n)
此處,*a表示 a 是乙個位址,因此呼叫時只需將位址傳入即可,故不一定要在 a[0] 開始,如 sum(a+1, 3);

使用函式指標

WebApi引數傳遞總結

在webapi中,請求主體 httpcontent 只能被讀取一次,不被快取,只能向前讀取的流。舉例子說明 服務端方法 void action int id,string name 所有引數都是簡單型別,因而都將來自url 服務端方法 void action fromuri int id,fromu...

python 引數傳遞總結

python中函式的引數通過賦值的方式來傳遞引用物件。下面總結通過總結常見的函式引數定義方式,來理解引數傳遞的流程。這種方式最常見了,列出有限個數的引數,並且彼此之間用逗號隔開。在呼叫函式的時候,按照順序以此對引數進行賦值,特備注意的是,引數的名字不重要,重要的是位置。而且,必須數量一致,一一對應。...

django 引數傳遞方法總結

1 無引數情況 配置url及其檢視如下 訪問輸出結果為 hello world 2 傳遞乙個引數 配置url及其檢視如下,url中通過正則指定乙個引數 訪問輸出結果為 the param is china 3 傳遞多個引數 參照第二種情況,以傳遞兩個引數為例,配置url及其檢視如下,url中通過正則...