#define 优越性畅谈

作者在 2007-09-01 08:09:00 发布以下内容

在编写程序时,尽量不使用确切的数字,而使用#define 来宏定义这些数据.
否则将会给程序的维护带来巨大困难和使用程序变得毫无生机和活力.
例如:我们要使用一个字符型全局数组变量,变量名为array.
首先我们应该确定数组的大小,例如大小为500
可以这样定义:
char array[500];
也可以这样定义:
#define MaxArrayLen (500)
char array[MaxArrayLen];
如果在程序中需要判断数组是否会越界使用,可以分别用500/MaxArrayLen来参照.

假如我们有必要使用数组的容量增大至600,使用第一种方法需要在程序中一个一个地去改.
如果程序大,可想而知修改的量大.但又不能保证没有忽失的地方或者改错的地方.如果其它文件也要使用这个变量,
那么也得修改.如果这个修改的人不是你,而是别人,可想而知这样的后果.他又怎么会知道你在那个地方,那个文件使用过这个变量.
这样会给程序的维护带来极大的困难和不便,也使得程序的可扩展性丧失,使程序变得死气沉沉.
这当然不是我们所愿意看到的,当我们使用第二种方法,结果会完全不同.只需要修改#define MaxArrayLen (500)这个地方就可以了.

这只是在数组的定义使用宏定义.在其它方面也同样值得注意.

我的C语言编程经验 | 阅读 1392 次
文章评论,共0条
游客请输入验证码