C语言基础教程(五)函数(8)

  •   2009-07-10/10:22
  •   3.函数作用范围

    Turbo C2.0中每个函数都是独立的代码块,函数代码归该函数所有,除了对函数的调用以外,其它任何函数中的任何语句都不能访问它。例如使用跳转语句goto就不能从一个函数跳进其它函数内部。除非使用全程变量,否则一个函数内部定义的程序代码和数据,不会与另一个函数内的程序代码和数据相互影响。
    Turbo C2.0中所有函数的作用域都处于同一嵌套程度,即不能在一个函数内再说明或定义另一个函数。
    Turbo C2.0中一个函数对其它子函数的调用是全程的,即是函数在不同的文件中,也不必附加任何说明语句而被另一函数调用,也就是说一个函数对于整个程序都是可见的。
    4.函数的变量作用域
    在Turbo C2.0中,变量是可以在各个层次的子程序中加以说明,也就是说,在任何函数中,变量说明有只允许在一个函数体的开头处说明,而且允许变量的说明(包括初始化)跟在一个复合语句的左花括号的后面,直到配对的右花括号为止。它的作用域仅在这对花括号内,当程序执行到出花括号时,它将不复存在。当然,内层中的变量即使与外层中的变量名字相同,它们之间也是没有关系的。
    例9.
    #include<stdio.h>
    int i=10;
    int main()
    {
    int i=1;
    printf("%d\t, i);
    {
    int i=2;
    pritnf("%d\t", i);
    {
    extern i;
    i+=1;
    printf("%d\t", i);
    }
    printf("%d\t", ++i);
    }
    printf("%d\n", ++i);
    return 0;
    }
    运行结果为
    1 2 11 3 2
    从程序运行的结果不难看出程序中各变量之间的关系,以及各个变量的作用域。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多