位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 局部变量

提问人:刘团圆发布时间:2020-12-01

    局部变量也称为内部变量,是在一个函数内部声明的变量,作用域只限于本函数内部。在函数内部可以合法引用,在该函数外面使用局部变量是非法的。例如:

int fun(int m,int n)    /*m,n,max的作用域为main()函数*/

{

    int max;

    max=m>n?.m:n;

}

main()

{

    int a,b;          /*a,b的作用域为main()函数*/

    scanf("%d%d",&a,&b);

    printf("%d\n",fun(a.b));

}

    从上例中可以看到,fun()函数中出现了三个变量:形参m,n和普通变量max,它们的作用域都仅限于fun()函数内部。同样,在main()函数内定义的变量作用域仅限于main()函数,并不因为它是main()函数而可以调用其他函数中的变量。因为C语言中所有的函数都是平行的。如在main()函数中 直接使用max()函数,编译系统会提示“变量未定义”的错误。

    关于局部变量的作用域还要说明以下几点:

    ①因为在C语言中所有的函数地位是平行的,所以主函数main()中定义的内部变量,也只能在主函数中使用,其他函数不能使用。同样,主函数中也不能使用其他函数中定义的内部变量。

    ②形参变量也是局部变量,属于被调用函数,如上例中fun()函数中的形参m、n都是局部变量。同样的,实参变量则是调用函数的内部变量。

    ③允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。

    ④在复合语句中也可定义变量,其作用域只在复合语句范围内,例如:

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部