<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言變量和數據類型

    時間:2025-06-07 09:19:49 C語言 我要投稿
    • 相關推薦

    C語言變量和數據類型

      計算機要處理的數據是以二進制的形式存放在內存中的,那么大家知道C語言變量和數據類型是怎樣的呢?下面一起來看看!

      變量(Variable)

      現實生活中我們會找一個小箱子來存放物品,一來顯得不那么凌亂,二來方便以后找到。計算機也是這個道理,我們需要先在內存中找一塊區域,規定用它來存放整數,并起一個好記的名字,方便以后查找。這塊區域就是“小箱子”,我們可以把整數放進去了。

      C語言中這樣在內存中找一塊區域:

      int a;

      int又是一個新單詞,它是 Integer 的簡寫,意思是整數。a 是我們給這塊區域起的名字;當然也可以叫其他名字,例如 abc、mn123 等。

      這個語句的意思是:在內存中找一塊區域,命名為 a,用它來存放整數。

      注意 int 和 a 之間是有空格的,它們是兩個詞。也注意最后的分號,int a表達了完整的意思,是一個語句,要用分號來結束。

      不過int a;僅僅是在內存中找了一塊可以保存整數的區域,那么如何將 123、100、999 這樣的數字放進去呢?

      C語言中這樣向內存中放整數:

      a=123;

      =是一個新符號,它在數學中叫“等于號”,例如 1+2=3,但在C語言中,這個過程叫做賦值(Assign)。賦值是指把數據放到內存的過程。

      把上面的兩個語句連起來:

      int a;

      a=123;

      就把 123 放到了一塊叫做 a 的內存區域。你也可以寫成一個語句:

      int a=123;

      a 中的整數不是一成不變的,只要我們需要,隨時可以更改。更改的方式就是再次賦值,例如:

      int a=123;

      a=1000;

      a=9999;

      第二次賦值,會把第一次的數據覆蓋(擦除)掉,也就是說,a 中最后的值是9999,123、1000 已經不存在了,再也找不回來了。

      因為 a 的值可以改變,所以我們給它起了一個形象的名字,叫做變量(Variable)。

      int a;創造了一個變量 a,我們把這個過程叫做變量定義。a=123;把 123 交給了變量 a,我們把這個過程叫做給變量賦值;又因為是第一次賦值,也稱變量的初始化,或者賦初值。

      你可以先定義變量,再初始化,例如:

      int abc;

      abc=999;

      也可以在定義的同時進行初始化,例如:

      int abc=999;

      這兩種方式是等價的。

      變量定義的位置

      在VC或VS下,變量定義要放在函數的開頭;也就是說,在定義變量之前不能有其他代碼。而在 GCC、Xcode 下,或者在使用了 GCC 編譯器的 C-Free、Dev C++、Code::Blocks 下,變量定義可以放在函數的任意位置。

      例如,下面的代碼在 VC、VS、GCC、Xcode 下都是正確的:

      #includeint main(){ int a = 10; int b = 1000; printf("BianChengBang"); return 0;}

      對代碼稍作修改,將 printf 語句放在變量 a、b 中間,如下所示:

      #include

      int main()

      {

      int a = 10;

      printf("BianChengBang");

      int b = 1000; //在定義b變量之前有 printf 語句

      return 0;

      }

      修改后的代碼在 GCC、Xcode 下是正確的,而在 VC、VS 下就是錯誤的。

      為什么不同的編譯器會有不同的差異呢,根本原因是什么呢?我們將在《C語言變量的定義位置以及初始值》和《C語言的兩套標準》兩節詳細講解。

      數據類型(Data Type)

      數據是放在內存中的,變量是給這塊內存起的名字,有了變量就可以找到并使用這份數據。但問題是,該如何使用呢?

      我們知道,諸如數字、文字、符號、圖形、音頻、視頻等數據都是以二進制形式存儲在內存中的,它們并沒有本質上的區別,那么,00010000 該理解為數字16呢,還是圖像中某個像素的顏色呢,還是要發出某個聲音呢?如果沒有特別指明,我們并不知道。

      也就是說,內存中的數據有多種解釋方式,使用之前必須要確定;上面的int a;就表明,這份數據是整數,不能理解為像素、聲音等。int 有一個專業的稱呼,叫做數據類型(Data Type)。

      顧名思義,數據類型用來說明數據的類型,確定了數據的解釋方式,讓計算機和程序員不會產生歧義。在C語言中,有多種數據類型,例如:

    說  明字符型短整型整型長整型單精度浮點型雙精度浮點型無類型
    數據類型charshortintlongfloatdoublevoid

      這些是最基本的數據類型,是C語言自帶的,如果我們需要,還可以通過它們組成更加復雜的數據類型,后面我們會一一講解。

      連續定義多個變量

      為了讓程序的書寫更加簡潔,C語言支持多個變量的連續定義,例如:

      int a, b, c;float m = 10.9, n = 20.56;char p, q = '@';

      連續定義的多個變量以逗號,分隔,并且要擁有相同的數據類型;變量可以初始化,也可以不初始化。

      數據的長度(Length)

      所謂數據長度(Length),是指數據占用多少個字節。占用的字節越多,能存儲的數據就越多,對于數字來說,值就會更大,反之能存儲的數據就有限。

      多個數據在內存中是連續存儲的,彼此之間沒有明顯的界限,如果不明確指明數據的長度,計算機就不知道何時存取結束。例如我們保存了一個整數 1000,它占用4個字節的內存,而讀取時卻認為它占用3個字節或5個字節,這顯然是不正確的。

      所以,在定義變量時還要指明數據的長度。而這恰恰是數據類型的另外一個作用。數據類型除了指明數據的解釋方式,還指明了數據的長度。因為在C語言中,每一種數據類型所占用的字節數都是固定的,知道了數據類型,也就知道了數據的長度。

      在32位環境中,各種數據類型的長度一般如下:

    說  明字符型短整型整型長整型單精度浮點型雙精度浮點型
    數據類型charshortintlongfloatdouble
    長  度124448

      C語言有多少種數據類型,每種數據類型長度是多少、該如何使用,這是每一位C程序員都必須要掌握的,后續我們會一一講解。

      最后的總結

      數據是放在內存中的,在內存中存取數據要明確三件事情:數據存儲在哪里、數據的長度以及數據的處理方式。

      變量名不僅僅是為數據起了一個好記的名字,還告訴我們數據存儲在哪里,使用數據時,只要提供變量名即可;而數據類型則指明了數據的長度和處理方式。所以諸如int n;、char c;、float money;這樣的形式就確定了數據在內存中的所有要素。

      C語言提供的多種數據類型讓程序更加靈活和高效,同時也增加了學習成本。而有些編程語言,例如PHP、JavaScript等,在定義變量時不需要指明數據類型,編譯器會根據賦值情況自動推演出數據類型,更加智能。

      除了C語言,Java、C++、C#等在定義變量時也必須指明數據類型,這樣的編程語言稱為強類型語言。而PHP、JavaScript等在定義變量時不必指明數據類型,編譯系統會自動推演,這樣的編程語言稱為弱類型語言。

      強類型語言一旦確定了數據類型,就不能再賦給其他類型的數據,除非對數據類型進行轉換。弱類型語言沒有這種限制,一個變量,可以先賦給一個整數,然后再賦給一個字符串。

      最后需要說明的是:數據類型只在定義變量時指明,而且必須指明;使用變量時無需再指明,因為此時的數據類型已經確定了。

    【C語言變量和數據類型】相關文章:

    C語言局部變量和全局變量06-25

    C語言變量的類型04-08

    C語言變量的使用03-30

    C語言變量的地址06-08

    C語言變量定義07-29

    C語言變量理解07-28

    c語言數組指針變量的說明和使用07-26

    C語言變量的命名規則06-01

    C語言指針變量的類型07-31

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人