c 中的資料型別

2021-10-05 18:39:30 字數 1443 閱讀 4805

c++的資料型別可以分為兩類,一類為基本資料型別,一類為構造資料型別

構造資料型別

其中相較於c語言,c++中多了一種邏輯型別,一種引用型別。

bool、char、short----》int—》unsigned —》long—》unsigned long—》double—》long double。其中float型別向double型別轉換。

總體而言就是預設的低型別向高型別進行轉換。

1位元組=8位

1k=1024位元組=2^10

1m=1024k

1g=1024m

c標準中並沒有具體給出規定那個基本型別應該是多少位元組數,而且這個也與機器、os、編譯器有關,比如同樣是在32bits的作業系統系,vc++的編譯器下int型別為佔4個位元組;而tuborc下則是2個位元組。

所以int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ansi/iso制訂的):

sizeof(short int)<=sizeof(int)

sizeof(int)<=sizeof(long int)

short int至少應為16位(2位元組)

long int至少應為32位。

下面給出不同位數編譯器下的基本資料型別所佔的位元組數:

16位編譯器

char :1個位元組

char*(即指標變數): 2個位元組

short int : 2個位元組

int: 2個位元組

unsigned int : 2個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

32位編譯器

char :1個位元組

char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)

short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

64位編譯器

char :1個位元組

char*(即指標變數): 8個位元組

short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 8個位元組

long long: 8個位元組

unsigned long: 8個位元組

C 中的資料型別

一 值型別 三種 1 簡單型別 types a 整數型別 八種 sbyte 有符號8位整數 128 127 byte 無符號8位整數 0 255 short 有符號16位整數 32768 32767 ushort 無符號16位整數 0 65535 int 有符號32位整數 2147483648 21...

c 中的資料型別

c 中的資料型別大致分為兩類 變數 常量,下面具體介紹一下 一.變數 變數分為一下幾種 布林變數 bool 佔乙個位,可以賦值為true 1 false 0 個人理解就是巨集定義,寫在標頭檔案中 字元型變數 char 佔乙個位元組 雙位元組型變數 一般佔2個位元組 用途以後再說 整形變數 int l...

c 中的資料型別

8中整數型別sbyte byte short ushort int uint long ulong 2種用於科學計算的二進位制浮點數型別 float double 1種用於金融計算的十進位制浮點型別 decimal 1中布林型別 bool 1中字元型別 string 直接將值放到源 中稱為硬編碼,因...