您的位置:首页 > 其它

让你提前认识软件开发(5):重定义一些基本数据类型

2014-03-19 20:04 543 查看
第1部分 重新认识C语言重定义一些基本数据类型         在编写程序的时候,定义变量是必不可少的,这时就要用到一些基本数据类型。
        也许你会说,定义一个变量有什么困难的,这是很容易办到的。要定义整型变量,直接用“int i;”语句就可以了;要定义字符型变量,直接用“char c;”就可以了。确实,这是学校教育教给我们的,但在实际工作中却不能这样做。
        为什么呢?原因很简单,因为这样写出来的程序,看起来很“山寨”,不是专业的程序员应该做的事情。
        前段时间,我在看《楚汉传奇》,有一个场面给我留下了非常深刻的印象。当刘邦第一次去找项羽帮忙的时候,他们一行人看到了项羽军营是如何练兵的,想到自己练兵的方法,当时就震惊了。刘邦他们完全就像是一群没有规范、到处乱跑的农民,与项家军比起来,真是差得太远了。这种差别移植到软件开发上来,就是“山寨”与“专业”的差别。这个比喻虽然有点不恰当,当也说明了一定的道理。
       书本上学的基本数据类型就像是不懂事的小孩,只有对之进行一定的规范和训练,才能走出社会,才能为单位所用。
       根据自己的工作经验,常用到的一些基本数据类型的重定义(规范化)如下:
       (1)整型
       整型,以占数据位数来分包括了短整型(short int)、整型(int)和长整型(long int),以有无符号来分包括了无符号整型(unsigned)和有符号整型(signed)。


       对于无符号短整型,其重定义为:typedef unsigned short int UINT16;
       对于有符号短整型,其重定义为:typedef signed   short int INT16;
       对于无符号整型,其重定义为:typedef unsigned int UINT32;
       对于有符号整型,其重定义为:typedef signed  int INT32;
       对于无符号长整型,其重定义为:typedef unsigned long ULONG;
       对于有符号长整型,其重定义为:typedef signed  long LONG;
       通过以上重定义之后,我们就可以用UINT16、INT16、UINT32、INT32、ULONG和LONG来代替相应的整型类型了。这里拿UINT32来说明:“U”代表“unsigned”,“INT”代表“int”,“32”表示“32位”,从这个定义一眼就可以看出这表示32位的无符号整型数据类型,如果要定义一个这样的一个变量i,用“UINT32 i;”语句就可以了。
 
        (2)字符型
       由于字符型和整型可以相互转换,也可以用类似的办法来重定义。


       对于无符号字符型,其重定义为:typedef unsigned char UINT8;
       对于有符号字符型,其重定义为:typedef signed char INT8;
       由于一个字符型变量占据一个字节,因此可以用8位来表示。通过我们的重定义,也能够很清楚地看出来。如果要定义一个无符号字符型变量c,用“UINT8 c;”语句就可以了。
 
        一般说来,实际项目中,这两种数据类型用得比较多,其它数据类型的重定义也可以参照完成。
        对基本数据类型进行重定义也就是在进行代码编写的规范化。在大型代码文件中,按照这个规范编写的程序阅读起来比较方便,同时也易于理解,提高了工作效率,让人一看到就觉得十分的专业。另外,这样做也会提升开发工程师在客户心中的地位,能够获得他们比较好的评价。
        当然,文章中的重定义符号(如INT16等)只是作者的举例,各个公司有不同的喜好和规定,因此会有不同的表示方法。但是,大家的目的都是一样的:体现规范性和专业性。
        规范性是我们随时都要注意的事情,要在自己编写的每一行代码中体现出来。我们要不断努力,力争早日远离“山寨”。
 
 
 
(欢迎访问南邮BBS:http://bbs.njupt.edu.cn/)
(欢迎访问重邮BBS:http://bbs.cqupt.edu.cn/nForum/index)
(本系列文章每周更新两篇,敬请期待!本人新浪微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: