c語言中的數(shù)據(jù)類型

更新中.......


在c語言中,僅有4種基本數(shù)據(jù)類型——整型,浮點型,指針和聚合類型(如數(shù)組和結(jié)構(gòu)等)。所有其他的類型都是從這4種基本類型派生而來。

1 . 整型

整型家族包括字符,短整型,整型和長整型,它們又分為有符號無符號

類型 取值范圍
char 0~127
signed char -127~+127
unsigned char 0~255
short int -32767~+32767
unsigned short int 0~65535
int -32767~+32767
unsigned int 0~65535
long int -2147483647~+2147483647
unsigned long int 0~4294967295

short int至少16位,long int至少32位。至于缺省的int究竟是16位還是32位,或者是其他值,則由編譯器設(shè)計決定。通常這個選擇的缺省值是這種機器最為自然(高效)的位數(shù)。同時你還應(yīng)該注意到標準也沒有規(guī)定這3個值必須不一樣,如果某種機器的環(huán)境的字長是32位,而且沒有什么指令能夠更有效地處理更短的整型值,它可能把這3個整型值都設(shè)定為32位。

另外在定義char型變量時,應(yīng)盡量將數(shù)值控制在unsigned char與signed char的交集,這樣可以確保程序有更好的可移植性。

2 . 浮點類型

浮點家族包括float,double和long double類型。ANSI標準規(guī)定long double至少至少和double一樣長,而double至少和float一樣長。
標準同時規(guī)定了一個最小范圍,所有浮點類型至少能夠容納從10-37到1037之間的任何值。

浮點數(shù)字面值在缺省情況下都是double類型的,除非它的后面跟一個L或1表示它是一個long double類型的值,或者跟一個F或f表示它是一個float類型的值。

3 . 指針

數(shù)據(jù)在內(nèi)存中的地址也稱為指針,如果一個變量存儲了一份數(shù)據(jù)的指針,我們就稱它為指針變量。在C語言中,允許用一個變量來存放指針,這種變量稱為指針變量。指針變量的值就是某份數(shù)據(jù)的地址,這樣的一份數(shù)據(jù)可以是數(shù)組、字符串、函數(shù),也可以是另外的一個普通變量或指針變量?,F(xiàn)在假設(shè)有一個 char 類型的變量 c,它存儲了字符 'K'(ASCII碼為十進制數(shù) 75),并占用了地址為 0X11A 的內(nèi)存(地址通常用十六進制表示)。另外有一個指針變量 p,它的值為 0X11A,正好等于變量 c 的地址,這種情況我們就稱 p 指向了 c,或者說 p 是指向變量 c 的指針。


定義指針變量與定義普通變量非常類似,不過要在變量名前面加星號 ***,格式為:

datatype  *name;

或者

datatype *name = value;

4 . 聚合類型

聚合數(shù)據(jù)類型能夠同時存儲超過一個的單獨數(shù)據(jù),c語言提供了兩種類型的聚合數(shù)據(jù)類型——數(shù)組和結(jié)構(gòu)。

數(shù)組

數(shù)組是相同類型的元素的集合,它的每個元素是通過下標引用來訪問的。

  • 一維數(shù)組
int a[10];//聲明可存儲十個變量的一維數(shù)組
a[1] = 2;
  • 多維數(shù)組
int b[2][3];//聲明一個2*3的二維數(shù)組
int c[6][8][10];
  • 指針數(shù)組
int *api[10];

** 結(jié)構(gòu) **

結(jié)構(gòu)也是一些值的集合,這些值稱為它的成員,但是一個結(jié)構(gòu)的各個成員可能具有不同的類型。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容