C 语言中的程序块

本文内容

目录汇总:C 语言零基础入门教程

C 语言 if 语句简介 遇到过复合语句,一个复合语句也是一个块(block),但块并非只有复合语句这一种形式。块也叫程序块。下面是程序块的示例:

1
2
3
4
5
6
if (i > j) {
  /* swap values of i and j */
  int temp = i;
  i = j;
  j = temp;
}

这里,整个 if 语句是一个程序块;if 语句的每一个子句也是程序块。默认情况下,声明在程序块中的变量的存储期是自动的:进入程序块时为变量分配存储单元,退出程序块时收回分配的空间。变量具有块作用域,也就是说,不能在程序块外引用。

函数体是程序块。在需要临时使用变量时,函数体内的程序块也是非常有用的。在上面这个例子中,我们需要一个临时变量以便可以交换 ij 的值。在程序块中放置临时变量有两个好处:

(1) 避免函数体起始位置的声明与只是临时使用的变量相混淆;

(2) 减少了名字冲突。在此例中,名字 temp 可以根据不同的目的用于同一函数中的其他地方,在程序块中声明的变量 temp 严格属于局部程序块。

C99 允许在程序块的任何地方声明变量,就像允许在函数体内的任何地方声明变量一样。

请参阅

(完)

comments powered by Disqus

本文内容