C 之函式返回值

2021-10-03 01:44:53 字數 1455 閱讀 6994

函式返回是,return expression或者 return 語句使程式退出當前函式,返回上一級函式的行為。如果有返回值,函式返回該值。

auto a = fun()
ps: 我不了解函式呼叫和函式返回時,涉及的記憶體、堆疊等資訊。但是想要寫好**,這些是需要了解。(這是我的個人觀點,我以後會學這部分的內容)

# 正常般(c 風格)

# 格式 typename fun(typename para0, ...);

int add(int a, int b);

int sum = add(3, 4);

# 尾置返回型別

# 格式 auto fun(typename para0, ...);

auto add(int a, int b) -> int;

auto fun(int i) -> int(*)[10]; //返回乙個指向10個int的陣列指標

int arr[10]; int *p = arr;

p = fun(i);

# 使用decltype

# 格式 decltype(variable name) fun(typename para0, ...);

//舉個例子

int odd = ;

int even = ;

decltype(odd) *arrptr(int i) // 返回乙個指向陣列的指標。

說明:函式在使用時,是作為右值被使用的。類如

int a = add(3, 4);
但是當返回值是引用型別的時候,函式可以作為左值被使用。類如

int& arr_get_val(std::vector& ivec, std::vector::size_type i);

arr_get_val(ivec, i) = i; //ivec中,第i個元素值賦值為i。

貼一段引用返回左值的測試**

#include#includeint& arr_get_val(std::vector& ivec, std::vector::size_type i);

int main(void)

int& arr_get_val(std::vector& ivec, std::vector::size_type i)

執行:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ejwxdnur-1582204782003)(c:\users\xiesh\desktop\截圖1.png)]

最近肺炎可能嚴重了些,希望大家平安度過。

執行:

[外鏈轉存中...(img-ejwxdnur-1582204782003)]

最近肺炎可能嚴重了些,希望大家平安度過。

函式之返回值

返回值 將函式中運算的結果通過 return defadd a,b result a b print result return hello 100 呼叫函式 x,y add 2,6 print x,y return 返回值 1.return後面可以是乙個引數 接受的時候x add 1,2 2.re...

C 函式返回值。

一 params.可變引數,無論有幾個引數,必須出現在引數列表的最後,可以為可變引數直接傳遞乙個對應型別的陣列。class program test msg intarry static void test string msg,params int args 二 ref 引用傳遞 三 out ou...

72 函式之返回值

返回值 將函式中運算的結果return def add a,b result a b print result 僅僅限於列印在終端上,輔助檢視,但是外部無法使用 return result 扔 需變數接 能不能扔2個值 return hello result hello 7 呼叫 x add 3,4...