關於部分常量,變數等相關概念的總結

2021-08-17 12:31:40 字數 1229 閱讀 2474

這個並非全部c語言的初期概念,只是自己在每個板塊相對應一些細節的總結,不對之處請指出

1.轉義字元:

\ddd,\xddd這些都是可以輸出的整形數值。d前後分別表示的是八進位制和十六進製制的ascii值。所以他們的表示的值是有限的。

2.整形資料型別有int char long等等。他們所佔記憶體的單位是以位元組來計算。如int佔四個位元組,乙個位元組又等於八個位元位,乙個位元位有可以表示八位二進位制數,從而int型別可以表示2^32個數字。

3.常量

常量一般有 字面常量,const定義的具有常屬性的變數,列舉常量,define定義的常量等。

其中const定義的變數無法被再賦值

#includeint main()

但可以通過指標尋位址的方式改變其值。然而,在c++檔案中,編譯器對於const修飾的變數會主動優化,通過指標方式賦值雖然可以儲存到記憶體中,但因為編譯器的優化將const修飾的變數內容儲存到了交換資料更快的暫存器,所以賦值顯示是原值。這時候需要用variable關鍵字修飾使變數只能訪問記憶體從而防止編譯器優化。

3.關於變數的作用域和生命週期及static靜態修飾

void test()

int main()

getchar();

return 0;

此程式輸出結果為全1.這就表明了在外部函式內定義的變數作用域和有效週期,但static變數修飾時,使區域性變數的生命週期變長。

extern修飾詞可以在同一工程底的原始檔之間引用變數,但無法引用static修飾的全域性變數。

*區域性(auto)變數都儲存在記憶體堆疊區,因為進入**塊時建立出去時候銷毀,從而自動變數沒有預設得初始值。

被static修飾的區域性變數和全域性變數,儲存在 記憶體的靜態區,若在宣告時未初始化,他們的值0。(函式的形參無法被static修飾,因為實參總是在堆疊中傳遞給函式,用於支援遞迴。)

4.關於返回值

#include int main

對於這個程式,輸出結果是5521.原因是自最內層printf函式已經宣告了列印出數字a=55後,到達上一層函式,此時該層函式接收的是printf函式的返回值,也就是上次列印字的個數,55,即2個。返回後到上一層函式,返回值也就是1.

2 注釋 常量 變數 轉移字元 等

2 注釋 常量 變數 轉移字元 等 標籤 空格分隔 未分類 注釋 可以注釋多行,但是不能巢狀注釋 可以巢狀 注釋單行 字串 hello word 這種由雙引號引起來的一串字元稱為字串字面值 string literal 或者簡稱字串。由於一些符號有他們特殊的功能 因此當你想列印出它們本身時需要用反斜...

20150527常量變數

main.c ios150527 created by peng junlong on 15 5 27.include void changliangbian int main int argc,const char argv 常量 變數 常量 是c語言中最基本的元素,包括 字元常量,整型常量,浮點...

Swift 常量變數

main.swift swift 常量變數 created by dingkang on 15 12 15.import foundation 常量 在程式執行期間,不可以改變的量,稱之為常量。變數 在程式執行過程中,其值可以任意改變的量稱之為變數。變數和常量一樣,在使用之前都要進行生宣告和自定義 ...