1. 程式人生 > >C語言基礎之類型系統

C語言基礎之類型系統

style 32位 box 系統介紹 計算 所有 只需要 font height

一、類型系統介紹

類型系統是每個編程語言都會有的基本概念,C語言的類型系統可以概括為基本類型和復合類型,基本類型又可以細分為整型數值類型和浮點數數值類型,不同類型所占用的內存長度不相同,下面先來介紹一下基本類型。

整型數值基本類型

1、char 占用一個字節

2、short 占用兩個字節

3、int 目前基本都是4字節

4、long int (可以簡寫為 long) (32位系統是4字節,64位系統是8字節)

5、long long int ( 可以簡寫為long long) 占用8節字

浮點數數值基本類型

1、float 占用4字節 (單精度)

2、double 占用8節字 (雙精度浮點數)

復合類型包含如下幾種

1、struct 結構體

2、union 聯合體

3、enum 枚舉 (長度等同 int )

4、數組

5、指針

二、有符號和無符號

在定義變量時默認是有符號類型,需要定義無符號變量時只需要使用關鍵字 unsigned 來修飾即可,如 unsigned char、unsigned short、unsigned int等都是合法的變量,需要特別註意的是浮點數數值類型不能用關鍵字 unsigned 來修飾,如 unsigned float和unsigned double 都是不合法的,因為浮點數類型的存儲方式和整型數值類型不同。


有符號變量的二進制最高一位用來表示符號位,正數是0負數是1剩下的用來表示值 ,無符號變量的所有二進制位都用來表示值,整型數值變量的值在計算機內部使用補碼來表示。

三、原碼、反碼和補碼

原碼是值的二進制表示方式,舉例說明

char v = 1 原碼=0000 0001 最高位是0

char v = -1 原碼 = 1000 0001 最高位是1

正數的原碼=反碼=補碼

負數的反碼等於原碼除了符號位之外所有的位都取反,補碼等於反碼加一,舉例說明

char v = -1 原碼 = 1000 0001, 反碼 = 1111 1110, 補碼 = 1111 1110 + 1 = 1111 1111


C語言基礎之類型系統