0
点赞
收藏
分享

微信扫一扫

C语言编程注意点5


1、预处理程序:define
定义函数
宏定义还可带变元(参数):
#define 标识符(标识符, 标识符,…) 单词串
如:

#define

于是语句x = max(p+q, r+s); 可替换为:

x = ((p+q) > (r+s) ? (p+q) : (r+s));

注意:

  1. 宏定义名与参数间不能有空格,如max(A,B);
  2. 参数应用括号括起来,如(A)>(B)?(A) : (B)

反例:

#define

则:

a=prod(b+c,d+e);

被替换为:

a=b+c*d+e;

2、外部变量
在函数外面定义的变量叫做外部变量;

外部变量作用域(scope)为整个程序,即可在程序的所有函数中使用;

外部变量有隐含初值0;

生存期(life cycle):外部变量(存储空间)在程序执行过程中始终存在;

C程序可以分别放在几个文件上,每个文件可作为一个编译单位分别编译。外部变量只需在某个文件上定义一次,其它文件若要引用此变量时,应用extern加以说明。(外部变量定义时不必加extern关键字);

在同一文件中,若前面的函数要引用后面定义的外部(在函数之外)变量时,也应在函数里加以extern说明;

例如,如果外部变量N不在程序头部定义,则需要用extern加以说明。


extern int n; //外部变量说明
int main()
{

}
int n = 0; //外部变量定义
void insertData(int array[], int data)
{

}

使用外部变量的原因(优点):

  1. 解决函数单独编译的协调;
  2. 与变量初始化有关;
  3. 外部变量的值是永久的;
  4. 解决数据共享;

外部变量的副作用(缺点):
使用外部变量的函数独立性差,通常不能使用在其他的程序中。而且,如果多个函数都使用到某个外部变量,一旦出现差错,就很难发现问题是由哪个函数引起的。在程序中的某个部分引起外部变量的错误,很容易误以为是由另一部分引起的。

3、通过调用自身解决问题的过程称为递归;


举报

相关推荐

0 条评论