C C 基本資料型別

2021-06-28 00:17:48 字數 1600 閱讀 2688



學了c然後c++,然後mfc/windows,然後是c#,其中資料型別很多,由基本型別衍生的typedef型別也n多。熟知基本資料型別是我們正確表達實際問題中各種資料的前提,因此我分類總結了一下c/c++/windows /c#基本資料型別,以便日後查閱。         

ansi c/c++基本資料型別:

說明:

(1)型別修飾符signed和unsigned用於修飾字元型和整形。

(2)型別修飾符short和long用於修飾字元型和整形。

(3)當用signed和unsigned、short和long修飾int整形時,int可省略。

(4)其中bool和wchar_t是c++特有的。

(5)除上表以外,c/c++都可以自定義列舉enum、聯合union和struct結構體型別。

(6)以上sizeof通過windows xp 32位平台測試,其中某些型別資料的位元組數和數值範圍由作業系統和編譯平台決定。比如16位機上,sizeof(int) = 2,而32位機上sizeof(int) = 4;32位機上sizeof(long) = 4,而64位機上sizeof(long) = 8。除此之外,注意64位機上的pointer佔8byte。

(7)void的字面意思是「無型別」,不能用來定義變數。void真正發揮的作用在於:<1> 對函式返回和函式引數的限定,例如自定義既不帶引數也無返回值的函式void myfunc(void);<2>定義無型別通用指標void *,指向任何型別的資料。

(8)標準c++庫及stl還提供了通用資料結構:字串類string;向量類模板vector;雙端佇列類模板deque;鍊錶類模板list;容器介面卡堆疊類stack(實現先進後出的操作);容器介面卡佇列類queue(實現先進先出的操作);集合類set;多重集合類multiset;對映類map;多重對映類multimap;位集合bitset;迭代器iterator (類似指標的功能,對容器的內容進行訪問)。

(9)在標準c++中,int的定義長度要依靠你的機器的字長,也就是說,如果你的機器是32位的,int的

長度為32位,如果你的機器是64位的,那麼int的標準長度就是64位,而vc中__int64是為在32機位機器長實現64位長度的整形數。

(10)關於32位平台下的int和longlong從字面上看,應該是64位才更合理,把long當成32位實在是乙個歷史的包袱。像c#那樣新起爐灶的程式語言,由於沒有需要支援老**的問題,就把long當作64位來處理了。 在32位平台下,long是相對short而言,long(short)型別是long(short) int型別的簡稱,sizeof(long) = sizeof(int) = 4。int和long的範圍雖然一樣,但輸入輸出格式不同,printf int的格式為%d,而printf long的格式為%ld。 考慮到程式的可移植性,還是要將他們區分開來。但當要求的數值範圍為4byte時,建議使用int型別,因為第一版的c語言只有一種型別,那就是int。

(11)在win32 api及mfc中為了使型別名稱在語意上更明了,對以上基本型別進行了大量的typedef。例如windef.h中的byte,word,dword。

C C 基本資料型別

學了c然後 c 然後 mfc windows,然後是c 其中資料型別很多,由基本型別衍生的 typedef 型別也n 多。熟知基本資料型別是我們正確表達實際問題中各種資料的前提,因此我分類總結了一下 c c windows c 基本資料型別,以便日後查閱。ansi c c 基本資料型別 type s...

c c 基本資料型別

整型 浮點型 int main 執行結果 size char 1 short int 2 int 4 long 4 long long int 8 int long long 8 long long 8 三種寫法相同 float 4 double 8型別 大小 byte char 1short 2i...

C C 基本資料型別

整數型別 1.byte型別 分配1個位元組記憶體,佔8位 二進位制 取值範圍是 27 27 1 2.int型別 分配4個位元組記憶體,佔32位,取值範圍 232 232 1.10 9數量級 3.long long型別 分配8個位元組記憶體,佔64位,取值範圍是 264 264 1.10 18數量級 ...