C語言學習 2 儲存類與運算子

2021-10-10 21:40:20 字數 1559 閱讀 6417

儲存類定義 c 程式中變數/函式的範圍(可見性)和生命週期。

c 程式中可用的儲存類:

//定義了兩個帶有相同儲存類的變數

這意味著變數的最大尺寸等於暫存器的大小(通常是乙個詞),且不能對它應用一元的 『&』 運算子(因為它沒有記憶體位置)。

暫存器只用於需要快速訪問的變數,比如計數器。還應注意的是,定義 『register』 並不意味著變數將被儲存在暫存器中,它意味著變數可能儲存在暫存器中,這取決於硬體和實現的限制。

static 修飾符也可以應用於全域性變數。當 static 修飾全域性變數時,會使變數的作用域限制在宣告它的檔案內。

全域性宣告的乙個 static 變數或方法可以被任何函式或方法呼叫,只要這些方法出現在跟 static 變數或方法同乙個檔案中。

當使用 extern 時,對於無法初始化的變數,會把變數名指向乙個之前定義過的儲存位置。

當您有多個檔案且定義了乙個可以在其他檔案中使用的全域性變數或函式時,可以在其他檔案中使用 extern 來得到已定義的變數或函式的引用。可以這麼理解,extern 是用來在另乙個檔案中宣告乙個全域性變數或函式。

extern 修飾符通常用於當有兩個或多個檔案共享相同的全域性變數或函式的時候

這些說明符放置在它們所修飾的型別之前。

運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。c 語言內建了豐富的運算子,並提供了以下型別的運算子:

算術運算子

假設變數 a 的值為 10,變數 b 的值為 20

關係運算子

假設變數 a 的值為 10,變數 b 的值為 20

邏輯運算子

假設變數 a 的值為 1,變數 b 的值為 0

位運算子

位運算子作用於位,並逐位執行操作。&、 | 和 ^ 的真值表如下所示:

賦值運算子

其他運算子

c 中的運算子優先順序

運算子的優先順序確定表示式中項的組合。這會影響到乙個表示式如何計算。

按運算子優先順序從高到低列出各個運算子,具有較高優先順序的運算子出現在**的上面,具有較低優先順序的運算子出現在**的下面。在表示式中,較高優先順序的運算子會優先被計算。

C語言學習 運算子

運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。c 語言內建了豐富的運算子,並提供了以下型別的運算子 下表顯示了 c 語言支援的所有算術運算子。假設變數 a 的值為 10,變數 b 的值為 20,則 運算子描述例項 把兩個運算元相加 a b 將得到 30 從第乙個運算元中減去第二個運算元 a ...

C 儲存類與運算子

儲存類定義 c 程式中變數 函式的範圍 可見性 和生命週期 auto儲存類 auto 儲存類是所有區域性變數預設的儲存類。register 儲存類用於定義可能儲存在暫存器中的變數,這用於定義經常訪問的如計數器 即定義全域性變數 static用於定義能在程式執行過程中都有效的變數,而不必使編譯器在每次...

C 儲存類與運算子

儲存類定義 c 程式中變數 函式的範圍 可見性 和生命週期 auto儲存類 auto 儲存類是所有區域性變數預設的儲存類。register 儲存類用於定義可能儲存在暫存器中的變數,這用於定義經常訪問的如計數器 即定義全域性變數 static用於定義能在程式執行過程中都有效的變數,而不必使編譯器在每次...