在編寫程式的時候,定義變數是必不可少的,這時就要用到一些基礎資料型別 (Elementary Data Type)。
也許你會說,定義一個變數有什麼困難的,這是很容易辦到的。要定義整型變數,直接用“int i;”語句就可以了;要定義字元型變數,直接用“char c;”就可以了。確實,這是學校教育教給我們的,但在實際工作中卻不能這樣做。
為什麼呢?原因很簡單,因為這樣寫出來的程式,看起來很“山寨”,不是專業的程式員應該做的事情。
前段時間,我在看《楚漢傳奇》,有一個場面給我留下了非常深刻的印象。當劉邦第一次去找項羽幫忙的時候,他們一行人看到了項羽軍營是如何練兵的,想到自己練兵的方法,當時就震驚了。劉邦他們完全就像是一群沒有規範、到處亂跑的農民,與項家軍比起來,真是差得太遠了。這種差別移植到軟體開發上來,就是“山寨”與“專業”的差別。這個比喻雖然有點不恰當,當也說明了一定的道理。
書本上學的基礎資料型別 (Elementary Data Type)就像是不懂事的小孩,只有對之進行一定的規範和訓練,才能走出社會,才能為單位所用。
根據自己的工作經驗,常用到的一些基礎資料型別 (Elementary Data Type)的重定義(正常化)如下:
(1)整型
整型,以占資料位元數來分包括了短整型(short int)、整型(int)和長整型(long int),以有無符號來分包括了無符號整型(unsigned)和有符號整型(signed)。
對於無符號短整型,其重定義為:typedef unsigned short intUINT16;
對於有符號短整型,其重定義為:typedef signed short intINT16;
對於無符號整型,其重定義為:typedef unsigned intUINT32;
對於有符號整型,其重定義為:typedef signed intINT32;
對於無符號長整型,其重定義為:typedef unsigned longULONG;
對於有符號長整型,其重定義為:typedef signed longLONG;
通過以上重定義之後,我們就可以用UINT16、INT16、UINT32、INT32、ULONG和LONG來代替相應的整數型別了。這裡拿UINT32來說明:“U”代表“unsigned”,“INT”代表“int”,“32”表示“32位”,從這個定義一眼就可以看出這表示32位的無符號整數資料型別,如果要定義一個這樣的一個變數i,用“UINT32 i;”語句就可以了。
更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/