C語言資料型別

2021-09-29 10:48:06 字數 1440 閱讀 4815

c語言定義資料型別最重要的目的就是用來儲存我們日常使用資料例如;姓名,生日,年齡,**,位址。甚至將幾個資訊關聯到一起使用。對於資訊資料的長短,定義適合我們使用的資料型別。(建議看本文之前先去了解計算機二進位制原碼反碼補碼)

型別資料大小

char

1位元組short

2位元組int

4位元組float

4位元組double

8位元組了解過資料大小之後我們還要學習各個型別的資料儲存數值範圍

型別資料大小

數值範圍

char

1位元組-128-127

unsigned char

1位元組0-255

short

2位元組-32,768 -32,767

unsigned short

2位元組0-65535

int4位元組

-2,147,483,648- 2,147,483,647

unsigned int

4位元組0-4,294,967,295

這裡便提到了乙個關鍵字unsigned ,使用unsigned關鍵字修飾資料型別,則定義為無符號資料型別。其實與之對應的還有乙個關鍵字叫做signed,由於c語言預設signed修飾資料型別所以通常定義char =signed char。兩個關鍵字顧名思義乙個有符號乙個無符號。為什麼同樣大小的資料型別會存在兩種數值範圍呢?思考一下生活中電飯鍋的定時永遠不會出現負數,而電子溫度計是會出現負數也會出現正數。所以寫c語言之前一定要考慮好定義的資料型別是否會在使用過程**現越界,這是日常開發當中很容易出現的bug,使用時要謹慎。

#include 

int main (

)

1.無符號數與有符號數相加(隱式型別轉換)

#include 

int main (

)else

return;}

//執行結果是a+b >=0 所以隱式轉換變數的所有資料型別都公升級為具有最大資料型別的變數的資料型別。

bool - > char - > short int - > int - > unsigned int …

隱式轉換變數的所有資料型別都公升級為具有最大資料型別的變數的資料型別,可能會丟失資訊,符號可能會丟失,並且可能發生溢位,所以謹慎使用。

2.強制轉換(顯示型別轉換)

#include

int main(

)

#include 

int main(

)

示例1:使用()進行強制型別轉換由大到小轉換則會使得資料損失精度,示例2:由小到大則符合了我們預期的想法。

資料型別是c語言的基礎,注意定義的資料是否在使用**現越界是本篇文章的關鍵。對於強制型別轉換是把雙刃劍使用時注意有沒有丟失資料精度,要保證我們的程式執行可靠。

C語言 資料型別

基本型別 整形 int 字元型 char 實型 浮點型 單精度 float 雙精度 double 構造型別 陣列型別,結構型別 struct 聯合型別 uion 列舉型別 enum 指標型別 空型別 無值型別 void。常量 在程式執行過程中,其值不能被改變的量稱為常量。變數 變數代表記憶體中具有特...

c語言資料型別

下面是我關於c語言中各種資料型別長度的總結 參考the c programming language 1.c語言中的整數型別有char,short,int,long等幾種,下面是c語言對每種資料型別長度的規定 a short和long型別的長度不相同 b int型別通常同具體機器的物理字長相同 c ...

C語言 資料型別

整形資料在記憶體中的存放形式 數值是以補碼表示的 1.正數的補碼和原始碼相同,2.負數的補碼 將該數的絕對值的二進位制形式按位取反再加1.例如 求 10 的補碼 10的原始碼 0000 0000 0000 1010 取反 1111 1111 1111 0101 再加1,得 10補碼 1111 111...