c高階c儲存型別

2021-07-13 18:49:49 字數 714 閱讀 6676

對程式中資料儲存空間的抽象。

靜態儲存,一直都在,直到程式完蛋;

動態,用就申請,搞完就甩了,例如函式形參那個悲慘的傢伙,用完後,就沒有然後了。

auto 奧拓,不擺了;

register:暗示編譯器要頻繁使用,快,最好放在cpu暫存器中,但也是暗示,給不給也不一定。

全域性變數不能暗示。

靜態、空鏈結

與動態不同之處:

靜態變數區別:

這裡:當static用在不同變數上的效果不同哦:

*用在區域性變數,延長壽命;*

*用在全域性變數,改變作用域;*

組成乙個程式的各個原始檔分別被編譯之後,所有目標檔案以及函式庫中的相同變數,如何區別?這就用到了鏈結屬性;

空鏈結即**塊或函式中的變數,作用域只是當前模組,不具有鏈結性的就是空鏈結啦。嘻嘻

內部關係:

static宣告的全域性變數,作用域為當前檔案。檔案內部隨便搞。內部福利!嘻嘻

而static宣告的區域性變數,則是讓它成為靜態變數,延長生命咯,直到程式結束。

全域性變數,預設的就是外部鏈結啦,除非加上了static變為靜態全域性。在外部的函式中使用前,使用extern一下就可以。大家一起搞

C 高階 C 型別轉換

在c語言中,轉換的可視性比較差,所有的轉換形式都是以一種相同形式書寫,難以跟蹤錯誤的轉換 轉換使用場景 1 對物件 變數 進行初始化 2 對物件 變數 進行賦值 3 傳參 4 返回值接收 double d 12.34 int a static cast d double d 1.34 int ptr...

C 儲存型別

儲存型別定義了變數或函式的作用範圍及生命週期。這些說明符也宣告了他們的修改方式的型別。有如下幾種儲存型別 auto register static extern mutable auto儲存型別是所有區域性變數的預設儲存型別。上面的例子中定義了兩個相同儲存型別的變數,auto 僅能運用於函式內的區域...

C 儲存型別

儲存型別和作用域 生存期限 鏈結型別有著千絲萬縷的聯絡。儲存型別一共有四種 extern static 為兩個永久儲存型別 auto register 為兩個臨時儲存型別 只有變數才有臨時生存期限 預設的全域性變數和全域性函式為extern儲存型別 顯示的宣告全域性變數和全域性函式使其具有stati...