C語言再學習8 return

2021-09-25 11:47:01 字數 1183 閱讀 9400

return:用來終止乙個函式並返回後面跟的值。

使用:return (表示式);//() 可省略

注:(1)c 不支援在函式外返回區域性變數的位址,除非定義區域性變數為 static 變數。

char

*func

(void

)

buf 屬於區域性變數,位於棧記憶體中,在 func 結束的時候被釋放,故導致返回 buf 錯誤。

(2)函式可以返回區域性變數的值,不涉及位址。

舉例:(1)

#include

#include

char

*return_test

(void

)int

main

(void

)

因為字串 char *str = 「return test」 宣告的是乙個字串常量,儲存在唯讀資料段,宣告的字串指標僅是存放了唯讀資料段字串的首位址,當程式結束退出時,存放該字串的記憶體不會被收回。

)返回乙個區域性變數(靜態/動態)的值是可以的,不涉及位址。

函式返回區域性變數的值的可以的,但是涉及返回指標變數的時候,要注意函式執行結束後這一段記憶體是否還存在。注意定義:char *str = 「return test」; 與 char = 「return test」; 的區別,他們的存放空間是不一樣的。

1.c語言的那些秘密之—函式返回區域性變數

C語言再學習 函式

一 函式概述 1 首先什麼是函式?函式是用於完成特定任務的程式 的自包含單元。2 為什麼使用函式?第 一 函式的使用可以身故重複 的編寫。第 二 函式使得程式更加模組化,有利於程式的閱讀修改和完善。3 main函式原型 int main int argc,char argv,char envp 第乙...

c語言 再學習筆記

簡單的來說 在區域性變數前加上 static 可以延長他的生命週期 由 函式呼叫時 延長至 程式存活週期 在全域性變數前加上static 可以減小它的作用域 由 多檔案可見,減小到單檔案內 可見 局變數的說明之前再加以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性...

C語言再學習 轉義字元

編輯 所有的轉義字元和所對應的意義 轉義字元 意義 ascii碼值 十進位制 a 響鈴 bel 007 b 退格 bs 將當前位置移到前一列 008 f 換頁 ff 將當前位置移到下頁開頭 012 n 換行 lf 將當前位置移到下一行開頭 010 r 回車 cr 將當前位置移到本行開頭 013 t ...