溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基本數(shù)據(jù)類型

發(fā)布時間:2020-05-07 14:31:18 來源:網(wǎng)絡 閱讀:290 作者:張立達 欄目:關(guān)系型數(shù)據(jù)庫

C語言有豐富的數(shù)據(jù)類型,因此它很適合用來編寫數(shù)據(jù)庫,如DB2、Oracle都是C語言寫的。

C語言的數(shù)據(jù)類型大致可以分為下圖中的幾類:

基本數(shù)據(jù)類型

 

 

一、不同編譯器環(huán)境下基本數(shù)據(jù)類型的存儲長度

紅色的代表常用的數(shù)據(jù)類型

基本數(shù)據(jù)類型

 

在64位編譯器環(huán)境下,short占2個字節(jié)(16位),int占4個字節(jié)(32位),long占8個字節(jié)(64位)。世界上的編譯器林林總總,不同編譯器環(huán)境下,取值范圍和占用的長度是不一樣的,不過幸運的是,ANSI \ ISO制定了以下規(guī)則

* short跟int至少為16位(2字節(jié))

* long至少為32位(4字節(jié))

* short的長度不能大于int,int的長度不能大于long

* char一定為為8位(1字節(jié)),畢竟char是我們編程能用的最小數(shù)據(jù)類型

 

 

二、變量

C語言中用變量來存儲計算過程使用的值,任何變量都必須先定義類型再使用。為什么一定要先定義變量呢?因為變量的類型決定了變量占用的存儲空間,所以定義變量類型,就是為了給該變量分配適當?shù)拇鎯臻g,以便存放數(shù)據(jù)。

 

1.局部變量的使用跟Java稍微有點不一樣

1> 在Java中,你聲明了一個局部變量后,如果沒有經(jīng)過初始化賦值就使用該變量,編譯器直接報錯

基本數(shù)據(jù)類型

第9行報錯了,因為變量a沒有初始化

 

2> 在C語言中,你聲明看一個局部變量后,沒有經(jīng)過初始化賦值是可以使用的

基本數(shù)據(jù)類型

基本數(shù)據(jù)類型

1 #include <stdio.h>
2 
3 int main()
4 {
5     int b;           
6     printf("%d", b);
7     return 0;
8 }

基本數(shù)據(jù)類型

基本數(shù)據(jù)類型

但這是很危險的,不建議這樣做。大多數(shù)人應該覺得變量b打印出來應該是0,其實有時候不是。因為系統(tǒng)會隨意給變量b賦值,得到的是垃圾數(shù)據(jù)。

上述代碼的打印結(jié)果是:基本數(shù)據(jù)類型因此,局部變量還是必須先進行初始化賦值,然后再使用,這樣才是最安全的做法。

* 如果是全局的int類型變量,系統(tǒng)會默認賦值為0

基本數(shù)據(jù)類型

 

 

二、類型修飾符

  即在基本數(shù)據(jù)類型的前面加一些修飾符,也有人稱之為限定符

有以下4種類型修飾符:

  • short  短型

  • long  長型

  • signed  有符號型

  • unsigned  無符號型

 

示例:

這些修飾符最常是用來修飾int類型(可以省略int)

基本數(shù)據(jù)類型

1 // 下面兩種寫法是等價的
 2 short int s1 = 1; 3 short s2 = 1; 4 
 5 // 下面兩種寫法是等價的
 6 long int l1 = 2; 7 long l2 = 2; 8 
 9 // 可以連續(xù)使用2個long10 long long ll = 10;11 12 // 下面兩種寫法是等價的13 signed int si1 = 3;14 signed si2 = 3;15 16 // 下面兩種寫法是等價的17 unsigned int us1 = 4;18 unsigned us2 = 4;19 20 // 也可以同時使用2種修飾符21 signed short int ss = 5;22 unsigned long int ul = 5;

基本數(shù)據(jù)類型

 

 

 signed代表有符號,包括正數(shù)、負數(shù)和0;unsigned代表無符號,只包括正數(shù)和0。比如,signed的取值范圍是-32768~32767,那么unsigned的取值范圍是0~65535,當然,不同的編譯器有不同的取值范圍


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI