c语言函数中定义的变量是否只在该函数内有用

2025-04-07 16:16:09
推荐回答(3个)
回答1:

是的。

在函数内部定义的变量,称之为局部变量。

局部变量的作用域,也就是有用的范围,是从定义位置开始,到所在大括号结束。

int func()
{
    int i = 10; //i的定义位置。
    if(i == 1)
    {
        int j = 100; // j 的定义位置。
        //some codes
        
    }//j所在大括号结束,j的作用域结束。
    
    //some codes
    
}//函数结束,i的作用域结束。

回答2:

通常是的,但当调用函数时可以让它生存期更久一点。

回答3:

是的。
函数体内部定义的变量,作用域为函数体内部。
文件中定义的全局变量,作用域为整个文件。
使用static 定义的文件内部全局变量只能在文件内部访问,未使用static 定义的,可以在其他文件中使用extern,对变量进行访问。