1.c 語言包含的資料型別
2.c語言基本資料型別分別在16位,32位,64位下不同
3.記憶體是按位元組編址的==1byte
1byte = 8 bit
1kb = 1024 byte
1m = 1024 kb
1g = 1024 m
4.基本資料型別取值範圍
不同資料型別的範圍和通常和編譯平台有關係。例如16位平台上的int是2個位元組,32位平台上的int是4個位元組。目前的主流編譯環境都是32位,在32位平台下各種資料型別取值範圍如下:
名稱 定義所用關鍵字 位元組數 範圍
整型 [signed]int 4 -2147483648~+2147483648
無符號整型 unsigned[int] 4 0~4294967295
短整型 short [int] 2 -32768~32768
無符號短整型 unsigned short[int] 2 0~65535
長整型 long int 32 -2147483648~+2147483648
無符號長整型 unsigned [int] 32 0~4294967295
字元型 [signed] char 1 -128~+127
無符號字元型 unsigned char 1 0~255
單精度 float 4 3.4 x 10^(-38)~ 3.4 x 10^(+38)
雙精度 double 8 1.7 x 10^(-308)~ 1.7 x 10^(+308)
6.float和double 的區別
7.c語言基本型別宣告、初始化、大小及格式說明符總結
注意:0.格式說明符中是o(大寫為o)不是零,是l(大寫為l)不是1。
1.大小為標準的32位機器中的情況,不同機器的int和long大小可能會有差異。
2.還有一些新增的型別如_bool、_complex、_imaginary此次並未列出。
3.儘管同一種型別可以有這麼多種表示方式,但請盡量選擇表達最清楚的方式。
4.無符號型別盡量少用,因為c蛋疼的隱式型別轉換會讓你大吃一斤(比如:if(50u>-50))!!!
5.注意每種型別的取值範圍(溢位問題)及表示精度(什麼很大的數和很小的數相運算就是精度這個問題囉),就是根據資料占有的位個數來計算啦,整數要考慮符號位,浮點數要考慮浮點編碼(單精度1,8,23,雙精度1,11,52)。
6.考慮到**移植性的話,會用到inttypes.h和stdint.h的東西(什麼int32_t,long64_t就是這裡邊的東西啦)。
7.不管什麼聯合型別、列舉型別、使用者自定義的結構體型別或是帶了函式(過程)的抽象資料型別,甚至是所謂高階的物件導向的類,都是由這些基礎資料型別(元型別)構建的,所以嘛基礎一定要穩喲!
C語言基本型別詳解
剛剛看到乙個部落格上貼了這個,解決了我一直以來的疑問 int和long是不是一樣的?答案是 不確定。資料型別名稱 位元組數 別名 取值範圍 int signed,signed int 由作業系統決定,即與作業系統的 字長 有關 unsigned int unsigned 由作業系統決定,即與作業系統...
C 語言的基本型別
語言的資料型別主要由基本型別和復合型別組成。基本型別由整型,浮點型,字元型,布林型,空型別組成。其中,整型分為短整型,長整型。浮點型分為單精度浮點型,雙精度浮點型,長雙精度浮點型。復合型別由陣列型別,結構體型別,共同體型別,列舉型別,指標型別,類型別組成。陣列型別是用於儲存多個相同型別資料的集合。結...
c語言(一)資料型別
一 分類 1.a 標量型別 a1 算術型別 a1基本型別 1 整型 標準整數型別 擴充的整數型別 2 實型 浮點型 實數浮點型別 複數浮點型別 3 字元型 a2列舉型別 a2 指標型別 b 聚合型別 b1 陣列型別 b2 結構型別 c 聯合型別 d 函式型別 2.描述物件的資料型別可分為 物件型別 ...