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

第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;

       通过以上重定义之后,我们就可以用UINT16INT16UINT32INT32ULONGLONG来代替相应的整型类型了。这里拿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,欢迎关注!)

 

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周兆熊-IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值