C语言变量和数据类型
從數據在內存中的存儲方式中可以得知
計算機要處理的數據(諸如數字、文字、符號、圖形、音頻、視頻等)是以二進制的形式存放在內存中的;我們將8個比特(Bit)稱為一個字節(Byte),并將字節作為最小的可操作單元。我們先從最簡單的整數說起,看看它是如何放到內存中去的。
變量(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=6666; a=8888;第二次賦值,會把第一次的數據覆蓋(擦除)掉,也就是說,a 中最后的值是8888、6666已經不存在了,再也找不回來了。
因為 a 的值可以改變,所以我們給它起了一個形象的名字,叫做變量(Variable)。
int a;創造了一個變量 a,我們把這個過程叫做變量定義。a=123;把 123 交給了變量 a,我們把這個過程叫做給變量賦值;又因為是第一次賦值,也稱變量的初始化,或者賦初值。
你可以先定義變量,再初始化,例如:
int abc; abc=333;也可以在定義的同時進行初始化,例如:
int abc=333;這兩種方式是等價的。
數據類型(Data Type)
數據是放在內存中的,變量是給這塊內存起的名字,有了變量就可以找到并使用這份數據。但問題是,該如何使用呢?
我們知道,諸如數字、文字、符號、圖形、音頻、視頻等數據都是以二進制形式存儲在內存中的,它們并沒有本質上的區別,那么,00010000 該理解為數字16呢,還是圖像中某個像素的顏色呢,還是要發出某個聲音呢?如果沒有特別指明,我們并不知道。
也就是說,內存中的數據有多種解釋方式,使用之前必須要確定;上面的int a;就表明,這份數據是整數,不能理解為像素、聲音等。int 有一個專業的稱呼,叫做數據類型(Data Type)。
顧名思義,數據類型用來說明數據的類型,確定了數據的解釋方式,讓計算機和程序員不會產生歧義。在C語言中,有多種數據類型,例如:
| 字符型 | char |
| 短整型 | short |
| 整型 | int |
| 長整型 | long |
| 單精度浮點型 | float |
| 雙精度浮點型 | double |
| 無類型 | void |
為了讓程序的書寫更加簡潔,C語言支持多個變量的連續定義,例如:
int a, b, c; float m = 10.9, n = 20.56; char p, q = '@';連續定義的多個變量以逗號,分隔,并且要擁有相同的數據類型;變量可以初始化,也可以不初始化。
數據的長度(Length)
所謂數據長度(Length),是指數據占用多少個字節。占用的字節越多,能存儲的數據就越多,對于數字來說,值就會更大,反之能存儲的數據就有限。
多個數據在內存中是連續存儲的,彼此之間沒有明顯的界限,如果不明確指明數據的長度,計算機就不知道何時存取結束。例如我們保存了一個整數 1000,它占用4個字節的內存,而讀取時卻認為它占用3個字節或5個字節,這顯然是不正確的。
所以,在定義變量時還要指明數據的長度。而這恰恰是數據類型的另外一個作用。數據類型除了指明數據的解釋方式,還指明了數據的長度。因為在C語言中,每一種數據類型所占用的字節數都是固定的,知道了數據類型,也就知道了數據的長度。
各種數據類型的長度如下:
如果感覺不錯的話請給我點贊喲!!!
總結
以上是生活随笔為你收集整理的C语言变量和数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySql 服务名无效
- 下一篇: MySQL 数据库恢复