字符串變量

末尾有'/0'結尾符表示字符串的結束。

1.若字符串相同則二者事實上是一個實體

2.字符串常量的生命週期跟應用程序的生命週期是一樣的。子函數退出後可以使用字符串常量。

3.//常量就const char這種 他的生存週期和普通變量無區別
    //但字符串常量"abcd"這種生存期是整個程序 那麼可以很自然想到const char就存儲位置跟
    //普通變量沒區別 在函數裏就在棧區 在外邊就在全局區
    //那麼const char這種除了只讀外與普通變量一樣

因爲在一個函數定義了一個常量const char 但在返回出的函數找他的位置就亂碼了 所以他的生存期是棧裏

 

像這樣如果當這個函數返回則str3和str4都會空間被釋放

如果我們想返回後該空間仍有效 可以用static關鍵字 這樣會把生存期增長到整個程序 但作用域仍是該函數

(PS:高數裏一個函數 就是由變換規則(函數名)和定義域(參數)來唯一確定,所以程序裏也是跟返回值無關

而重載函數是函數名相同 但定義域(參數)不同。)

參考:1.https://blog.csdn.net/tiangell/article/details/78132282

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章