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

在编写程序的时候,定义变量是必不可少的,这时就要用到一些基本数据类型。

也许你会说,定义一个变量有什么困难的,这是很容易办到的。要定义整型变量,直接用“int i;”语句就可以了;要定义字符型变量,直接用“char c;”就可以了。确实,这是学校教育教给我们的,但在实际工作中却不能这样做。

为什么呢?原因很简单,因为这样写出来的程序,看起来很“山寨”,不是专业的程序员应该做的事情。

前段时间,我在看《楚汉传奇》,有一个场面给我留下了非常深刻的印象。当刘邦第一次去找项羽帮忙的时候,他们一行人看到了项羽军营是如何练兵的,想到自己练兵的方法,当时就震惊了。刘邦他们完全就像是一群没有规范、到处乱跑的农民,与项家军比起来,真是差得太远了。这种差别移植到软件开发上来,就是“山寨”与“专业”的差别。这个比喻虽然有点不恰当,当也说明了一定的道理。

书本上学的基本数据类型就像是不懂事的小孩,只有对之进行一定的规范和训练,才能走出社会,才能为单位所用。

根据自己的工作经验,常用到的一些基本数据类型的重定义(规范化)如下:

(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/

时间: 2024-10-28 16:10:30

提前认识软件开发(5) 重定义一些基本数据类型的相关文章

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

第1部分 重新认识C语言 重定义一些基本数据类型           在编写程序的时候,定义变量是必不可少的,这时就要用到一些基本数据类型.         也许你会说,定义一个变量有什么困难的,这是很容易办到的.要定义整型变量,直接用"int i;"语句就可以了:要定义字符型变量,直接用"char c;"就可以了.确实,这是学校教育教给我们的,但在实际工作中却不能这样做.         为什么呢?原因很简单,因为这样写出来的程序,看起来很"山寨&quo

提前认识软件开发(1) 序言

序言 正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程. 1.为什么要写作本系列? 在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要. 在学校里面,我们欠缺的教育主要包括以下方面: 第一,对编码规范的要求.计算机编程课上,老师只要求学生能够编写程序实现既定的功能即可,几乎不会对编码规范提出要求,

让你提前认识软件开发(1):序言

序言           正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程.          1.为什么要写作本系列?        在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要.        在学校里面,我们欠缺的教育主要包括以下方面:        第一,对编码规范的要求.计算机编程

提前认识软件开发(16) 如何对程序进行优化

对程序进行优化,是软件开发工程师必然会涉及到的问题.那么为什么要对程序进行优化呢?原因有以下几个: 第一,在原程序基础之上新增.删除或修改了功能,需要改变原程序流程.客户需求随时可能会变化,今天已经实现的功能,说不定明天就要修改或去掉.落实到程序上面,就需要我们随时准备对写好的代码进行修改,而不要奢望写好之后就永远不要动了. 第二,原程序有bug.这类情况出现得非常的频繁,很多软件有1.0.2.0.3.0等版本,部分原因就是前面版本中程序有问题,在修改程序的过程中使得软件版本不断升级. 第三,原

提前认识软件开发(10) 字符串处理函数及异常保护

在软件开发项目中,经常有程序要对字符串进行操作.为此,C函数库中提供了一些用来对字符串进行处理的函数,使用起来非常的方便.但由于字符串都有长度,如果随意对不同的字符串进行连接和拷贝等操作,就可能出现意想不到的后果. 因此,在实际开发过程中,十分强调对字符串处理函数进行异常保护.本文详细介绍如何正确运用字符串处理函数进行C程序设计. 1. strcat和strncat函数 strcat函数的作用是连接两个字符数组中的字符串.在MSDN中,其定义为: char *strcat( char *strD

提前认识软件开发(8) memset()与memcpy()函数

软件项目中的代码,少则数千行,多则上万行,但并非无规律可循.阅读了那么多代码之后,我发现有两个函数出现的频率很高,那就是memset()与memcpy()函数,它们都是C语言编程中经常要用到的.工作之余,我查了一些资料,现对它们作一个简单的说明. 1. memset()函数 (1)函数原型 void *memset( void *dest, int c, size_t count ). (2)函数作用 在MSDN中,将该函数的作用描述为:Sets buffers to a specified c

提前认识软件开发(7) 变量及函数的命名

最近看了一则笑话,大意是路人甲到电信营业厅去交电话费,给营业员说要充50块钱,那个营业员问了一句"How much?".路人甲心想现在社会真的与以往不同了,连一般的营业员都开始流行讲英语了,于是便以不是很流利的口语说了一句"Fifty YUAN".那个营业员一头雾水地看着他,说道"电话号码多少?"路人甲这才恍然大悟,原来是问我电话号码多少,而非多少钱. 也许这个笑话本身并不好笑,但却说明了一个道理:我们要尽量准确地表达自己的想法,不要让别人感到疑

让你提前认识软件开发(13):指针及结构体的使用

第1部分 重新认识C语言 指针及结构体的使用   [文章摘要]         指针在C语言中占有很重要的地位,同时也是学习C语言的难点所在.结构体属于用户自己建立的数据类型,在实际的软件开发项目中应用很广泛.         本文以实际的例子介绍了C语言中指针和结构体的使用方法,为进一步的学习和应用提供了有益的参考. [关键词]         C语言 指针  结构体 文件   1.指针和结构体简介         在C语言中,将地址形象化地称为指针,意即通过它能够找到以它为地址的内存单元.实

让你提前认识软件开发(19):C语言中的协议及单元测试示例

第1部分 重新认识C语言 C语言中的协议及单元测试示例   [文章摘要]         在实际的软件开发项目中,经常要实现多个模块之间的通信,这就需要大家约定好相互之间的通信协议,各自按照协议来收发和解析消息.        本文以实际的程序代码为例,详细介绍了如何用C语言来实现通信协议,并基于对协议字段的判断,说明了程序单元测试的过程,为相关的开发工作提供了有益的参考. [关键词]        软件开发  协议  单元测试  C语言  字段   一.软件模块之间的协议         什么