程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C++數據類型解讀

C++數據類型解讀

編輯:關於C語言
 

計算機處理的對象是數據,而數據是以某種特定的形式存在的(例如整數、浮點數、字符等形式)。不同的數據之間往往還存在某些聯系(例如由若干個整數組成一個整數數組)。數據結構指的是數據的組織形式。例如,數組就是一種數據結構。不同的計算機語言所允許使用的數據結構是不同的。處理同一類問題,如果數據結構不同,算法也會不同。例如,對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,則在內存中的存儲形式如下圖所示。

數據.png

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′。這種從字面形式即可識別的常量稱為“字面常量”或“直接常量”。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved