C#基礎 [04] 儲存和變數

來源:互聯網
上載者:User

一、棧和堆

  在程式運行時,它的資料是儲存在記憶體中的。而類型決定了一個資料項目需要多大的記憶體、儲存在什麼地方以及如何儲存。運行中的程式使用兩個記憶體地區來儲存資料——棧和堆。

  1.棧

    1).定義

      棧是一個記憶體數組,是一個後進先出(LIFO,last-in first-out)的資料結構。程式在編譯期間就已經分配好了它所需要的棧空間的大小。棧一般用於儲存變數的值、當前程式的執行環境和傳遞個方法的參數。

    2).特徵

      資料只能從棧頂插入和刪除;把資料插入棧頂稱為“入棧”(push);把資料從棧頂刪除稱為“出棧”(pop)。

      

  2.堆

    堆是一塊記憶體地區,在堆裡可以分配大塊的記憶體用於儲存某類型的資料對象。與棧的存取方式不同,堆裡的記憶體能夠以任何順序存入和移除。

    

二、變數

  1.變數定義

    變數是程式為記憶體空間取的一個名字,它表示程式執行時儲存在記憶體中的資料。根據變數所在的位置,可以把變數分為以下四種:

       1).本地變數:定義在方法中的變數,用於在方法的範圍儲存臨時資料。

       2).參數:定義在方法的參數列表中的臨時變數,用於從一個方法到另一個方法傳遞參數。

       3).欄位:作為類型的成員,定義在類型中,用於儲存與類型或類型的執行個體相關的資料。

       4).數組元素:定義在數組中,作為資料項目的有序集合的一個成員。

  2.變數的聲明和初始化

    變數的聲明完成兩件事情:

      1).為變數命名,並且為它指定一種類型。

      2).讓編譯器為它分配一塊記憶體空間。

    變數的聲明和初始化經常通過一條語句來完成。就是聲明一個變數,並且為變數賦初值。我在這裡分開寫,以說明整個過程。  

1             // 1.聲明一個整型變數x2             int x;3             // 2.初始化x4             x = 10;5             // 3.使用變數6             Console.WriteLine(x);

   3.多重變數聲明

    在一條聲明語句可以聲明多變數。但必須遵守以下規則:

      1).多個變數的類型必須相同,並且只能在語句的開頭寫一次類型。

      2).多個變數名之間用逗號運算式分隔。

      3).每個變數名後面都可以包含初始化語句。  

1             // 用一條語句聲明3個整型變數x,y和z2             int x, y = 10, z = 1000;

  4.變數的自動初始化

    一些類型的變數在聲明的時候如果沒有初始化,就會被自動設為該類型的預設值;而另一些不能自動初始化為預設值的類型的變數的值在賦值之前為“未定義”。

    本地變數和方法的參數是不能被自動初始化的,而類的欄位和數組元素是可以被自動初始化的。

      

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.