C和指針

1.指針數據類型

變量的值存儲於計算機的內存中,每一個變量佔據一個特定的位置,每一個內存位置都由地址惟一肯定並引用。指針只是 地址的另外一個名字罷了。指針變量就是一個其值爲另外一個內存地址的變量。程序員

1.1 指針常量函數

指針常量與非指針常量在本質上是不一樣的,由於編譯器負責把變量賦值給計算機內存中的位置,程序員事先沒法知道某個特定的變量將存儲到內存的哪一個位置。所以,你經過操做符得到一個變量的地址而不是直接把它的地址寫成字面值常量的形式。事實上,當一個函數每次被調用時,它的自動變量(局部變量)可能每次分配的 內存位置都不相同,所以把指針常量表達爲數值字面值的形式幾乎沒有用處,因此C語言內部沒有特意定義這個概念。指針

1.2 static關鍵字blog

當用於不一樣的上下文環境時,static關鍵字具備不一樣的意思。內存

  • 當它用於函數定義時,或用於代碼塊以外的變量聲明時,static關鍵字用於修改標識符的連接屬性,從external改成internal。但標識符的存儲類型和做用域不受影響。用這種方式聲明的函數或變量只能在聲明它們的源文件內訪問。
  • 當它用於代碼塊內部的變量聲明時,static關鍵字用於修改變量的存儲類型,從自動變量修改成靜態變量,但變量的連接屬性和做用域不受影響。用這種方式聲明的變量在程序執行以前建立,並在程序的整個執行期間一直存在,而不是每次在代碼塊開始執行時建立,在代碼塊執行完畢後銷燬。

相關文章
相關標籤/搜索