<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [http://www.cnblogs.com/snandy/archive/2011/03/01/1967806.html](http://www.cnblogs.com/snandy/archive/2011/03/01/1967806.html) [http://www.cnblogs.com/snandy/archive/2011/03/01/1968195.html](http://www.cnblogs.com/snandy/archive/2011/03/01/1968195.html) [http://www.cnblogs.com/snandy/archive/2011/03/01/1967962.html](http://www.cnblogs.com/snandy/archive/2011/03/01/1967962.html) 變量是計算機對內存單元的抽象,他是編程語言最重要的概念。 一般我們隊內存單元的訪問限制是通過變量的六個屬性完成的 變量有6個屬性(或者說從6個方面去描述變量) 名字/別名,代表的是對內存單元的標識符,表示內存單元 地址/左值 值/右值 類型 作用域 生存期/生命期 1、名字/別名 名字就是內存單元的標識符 當多個名字訪問的都是同一個存儲地址時(或者說多個名字都 綁定/約束 于同一個存儲地址),可稱這些名字為 別名。使用別名有損于程序的可讀性,然而卻很難從一門語言中完全消除。如下 ~~~ //java public static void main(String[] args) { String name = "Jack Ma"; String alias = name; name = "XXX"; System.out.println(name); System.out.println(alias); } //C int main(int argc,char **argv) { char argch[]="I Love You"; char *pc=&argch; char *pch=pc; printf("%s\t%s\n",pc,pch); *(pch+2)='A'; printf("%s\t%s\n",pc,pch); } ~~~ 可以看到兩個指針指向同一塊內存地址,通過指針更改一個字符,另外一個指針是不知情的。 ![結果詳情](https://box.kancloud.cn/2016-02-24_56cd211da46f6.jpg "") 2、地址/左值 計算機中所有的數據都是存放在存儲器中的,一般把存儲器中的一個字節稱為一個存儲單元。為了正確的訪問這些存儲單元,需要為每個存儲單元編個號。根據編號即可準確的找到該內存單元。內存單元的編號就稱為 地址 。 在許多語言中,程序中同一個 名字/標識符 可以在不同的時間,與不同的 地址 關聯/綁定 。 變量的地址有時也稱為變量的左值(left value),或許是因為各種語言中變量經常位于賦值語句的左邊表示地址。 又或許在地址圖上編號總是位于左邊,值總是在右邊 ![或者這樣](https://box.kancloud.cn/2016-02-24_56cd211db622e.jpg "") 3 值/右值 變量的值是指與這個變量相關聯的存儲單元的內容。可以將計算機的存儲單元想象成抽象的單元,而非物理單元。 現代計算機多數以字節為單位,一個字節有八位長度。 變量的值有時也稱為變量的右值(right value),因為變量常被用于賦值語句的右邊(參考左值)。 4 類型 類型 決定了變量可以存儲的值的范圍,且定義了該類型的操作集合。 如Java中int類型占4個字節,取值范圍是-2147483648~2147483647,對其可進行加減乘除及取模運算。 5 作用域 作用域是指變量的可見性問題。即決定了那些子過程和函數過程可訪問該變量。 各種語言的劃分也不同,如有的變量作用域分為:局部、窗體、塊和全局。有的則只有局部、全局之分。 如C、C++、Java中有塊級作用域,JavaScript中則沒有 。 6 生存期/生命期 生存期/生命期 指的是何時創建,何時釋放。生存期/生命期 與 存儲綁定 密切相關。 如在Java中的一個方法中聲明的一個變量,該變量在方法執行時創建,執行后釋放。 ~~~ int main(int argc,char **argv) { char argch[]="I Love You"; char *pc=&argch; char *pch=pc; printf("%s\t%s\n",pc,pch); *(pch+2)='A'; printf("%s\t%s\n",pc,pch); } ~~~ 如在C中的main方法中聲明的一個變量,argch[],pc,pch變量在方法執行時創建,方法執行完后釋放。
                  <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>

                              哎呀哎呀视频在线观看