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 ...