<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 4. 變量 變量其實只不過是程序可操作的存儲區的名稱。C 中每個變量都有特定的類型,類型決定了變量存儲的大小和布局,該范圍內的值都可以存儲在內存中,運算符可應用于變量上。 變量的名稱可以由字母、數字和下劃線字符組成。它必須以字母或下劃線開頭。大寫字母和小寫字母是不同的,因為 C 對大小寫敏感的。 基于前一章講解的基本類型,有以下幾種基本的變量類型: ![](https://img.kancloud.cn/6e/02/6e020ab459a963eb72395536f94bd52f_833x454.png) C 語言也允許定義各種其他類型的變量,比如枚舉、指針、數組、結構、共用體等等 #### C 中的變量定義 **變量定義就是告訴編譯器在何處創建變量的存儲,以及如何創建變量的存儲**。變量定義指定一個數據類型,并包含了該類型的一個或多個變量的列表,如下所示: ``` type list; ``` 在這里,type 必須是一個有效的 C 數據類型,可以是 char、w\_char、int、float、double 或任何用戶自定義的對象,list 可以由一個或多個標識符名稱組成,多個標識符之間用逗號分隔。下面列出幾個有效的聲明: ``` int a,b,c; char c1,c2,c3; float f,f1,f2; double d1,d2,d3; ``` 這里其實跟 Java 聲明變量差不多,就不再單獨解釋了。 #### C 中變量聲明 **變量聲明向編譯器保證變量以指定的類型和名稱存在**,這樣編譯器在不需要知道變量完整細節的情況下也能繼續進一步的編譯。**變量聲明只在編譯時有它的意義,在程序連接時編譯器需要實際的變量聲明**。 變量的聲明有兩種情況: * 1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。 * 2、另一種是**不需要建立存儲空間的,通過使用 extern 關鍵字聲明變量名而不定義它**。 例如:`extern int a` 其中變量 a 可以在別的文件中定義的。 * **除非有 extern 關鍵字,否則都是變量的定義**。 ``` extern int i;//聲明,不是定義 int a;//聲明,也是定義 ``` **例子** ``` #include <stdio.h> //函數外定義變量 //如果需要在一個源文件中引用另外一個源文件中定義的變量,我們只需在引用的文件中將變量加上 extern 關鍵字的聲明即可 int x; int y; int sum() { //函數內聲明變量 X , Y 為外部變量 x = 10; y = 15; return x + y; } //入口函數 void main() { //打印變量相加 int result; result = sum(); printf("x + y = %d",result); } ``` 輸出: ``` x + y = 25 ``` #### C 中的左值(Lvalues)和右值(Rvalues) C 中有兩種類型的表達式: 1. **左值(lvalue**):指向內存位置的表達式被稱為左值(lvalue)表達式。左值可以出現在賦值號的左邊或右邊。 2. **右值(rvalue**):術語右值(rvalue)指的是存儲在內存中某些地址的數值。右值是不能對其進行賦值的表達式,也就是說,右值可以出現在賦值號的右邊,但不能出現在賦值號的左邊。 變量是左值,因此可以出現在賦值號的左邊。數值型的字面值是右值,因此不能被賦值,不能出現在賦值號的左邊。下面是一個有效的語句: ~~~ int g = 20; ~~~ 但是下面這個就不是一個有效的語句,會生成編譯時錯誤: ~~~ 10 = 20; ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看