C 資料型別

2021-06-28 04:50:04 字數 1410 閱讀 7234

計算機處理的物件是資料,而資料是以某種特定的形式存在的(例如整數、浮點數、字元等形式)。不同的資料之間往往還存在某些聯絡(例如由若干個整數組成乙個整數陣列)。資料結構指的是資料的組織形式。例如,陣列就是一種資料結構。不同的計算機語言所允許使用的資料結構是不同的。處理同一類問題,如果資料結構不同,演算法也會不同。例如,對10個整數排序和對包含10個元素的整型陣列排序的演算法是不同的。

圖2.1  

c++可以使用的資料型別

c++的資料報括常量與變數,常量與變數都具有型別。由以上這些資料型別還可以構成更複雜的資料結構。例如利用指標和結構體型別可以構成表、樹、棧等複雜的資料結構。

表2.1  

數值型和字元型資料的位元組數和數值範圍

c++並沒有統一規定各類資料的精度、數值範圍和在記憶體中所佔的位元組數,各c++編譯系統根據自己的情況作出安排。表2.1列出了visual c++數值型和字元型資料的情況。

幾點說明:

1) 整型資料分為長整型(long int)、一般整型(int)和短整型(short int)。在int前面加long和short分別表示長整型和短整型。

2) 整型資料的儲存方式為按二進位制數形式儲存,例如十進位制整數85的二進位制形式為1010101,則在記憶體中的儲存形式如下圖所示。00

0000

0001

0101

01

3) 在整型符號int和字元型符號char的前面,可以加修飾符signed(表示「有符號」)或unsigned(表示「無符號」)。如果指定為signed,則數值以補碼形式存放,儲存單元中的最高位(bit)用來表示數值的符號。如果指定為unsigned,則數值沒有符號,全部二進位制位都用來表示數值本身。例如短整型資料佔兩個位元組 ,見圖2.2。

圖2.2

有符號時,能儲存的最大值為215-1,即32767,最小值為-32768。無符號時,能儲存的最大值為216-1,即65535,最小值為0。有些資料是沒有負值的,可以使用unsigned,它儲存正數的範圍比用signed時要大一倍。

4) 浮點型(又稱實型)資料分為單精度(float)、雙精度(double)和長雙精度(long double)3種,在visual c++ 6.0中,對float提供6位有效數字,對double提供15位有效數字,並且float和double的數值範圍不同。對float分配4個位元組,對double和long double分配8個位元組。

5) 表中型別識別符號一欄中,方括號[ ]包含的部分可以省寫,如short和short int等效,unsigned int和unsigned等效。

常量的值是不能改變的,一般從其字面形式即可判別是否為常量。常量包括兩大類,即數值型常量(即常數)和字元型常量。如12, 0, -3為整型常量,4.6, -1.23為實型常量,包含在兩個單撇號之間的字元為字元常量,如′a′, ′x′。這種從字面形式即可識別的常量稱為「字面常量」或「直接常量」。

C 資料型別

一般來說,計算機要儲存和處理不同的資料型別,在c 中有基本的資料型別和使用者自定義資料型別以及引用型資料。我們先學習下基本的資料型別,也就是系統自帶的資料型別。每種資料型別都要佔據系統記憶體的一定空間,例如c 中的整數int 乙個整數佔4個位元組,也就是32位 計算機是用0和1二進位制來表示和處理資...

c 資料型別

型別可分為 值型別,引用型別 值型別 直接存放真正的資料,值型別都有固定的長度,值型別的變數都儲存在 堆疊 stack 上。作為值型別的變數,每個都有自己的資料,因此對乙個變數的操作不會影響其他變數。引用型別 儲存讀資料的記憶體位址的引用,位於受管制的堆 heap 上作為引用型別的變數可以引 用同一...

C 資料型別

bool system.boolean 1位元組 byte system.byte 1位元組無符號 sbyte system.sbyte 1位元組有符號 short system.int16 2位元組 ushort system.uint16 2位元組 int system.int32 4位元組 u...