C语言static关键字的作用

在 C 语言中,static 关键字有以下3种作用,分别是:静态变量静态函数静态全局变量,接下来我们分别来看一下以下三个函数:

  1. 静态变量

static 关键字用于变量声明时,表示这个变量是静态变量,其生命周期与程序的整个运行期间相同。静态变量在函数内部或者文件内部声明,可以在函数内部或者文件内部使用,但不能在其他函数或者文件中访问。如果在函数内部使用 static 关键字声明静态变量,则该变量在函数每次调用时不会被重新初始化,而是保留上一次调用的值。在文件内部使用 static 关键字声明静态变量,则该变量只能被该文件中的函数所访问,不能被其他文件所访问。

例如,以下代码声明了一个静态变量 count

void example()
{
    static int count = 0; // 声明静态变量 count,初值为 0
    count++;
    printf("count = %d\n", count);
}

在这个例子中,count 是一个静态变量,它的生命周期与程序的整个运行期间相同,每次调用 example() 函数时,count 的值都会增加,并且保留上一次调用的值。

  1. 静态函数

static 关键字用于函数声明时,表示这个函数是静态函数,只能在当前文件中使用,不能被其他文件所访问。

例如,以下代码声明了一个静态函数 add()

static int add(int a, int b)
{
    return a + b;
}

在这个例子中,add() 是一个静态函数,它只能在当前文件中使用,不能被其他文件所访问。

  1. 静态全局变量

static 关键字用于全局变量声明时,表示这个全局变量的作用域仅限于当前文件,不能被其他文件所访问。

例如,以下代码声明了一个静态全局变量 x

static int x = 0; // 声明静态全局变量 x,初值为 0

在这个例子中,x 是一个静态全局变量,它的作用域仅限于当前文件,不能被其他文件所访问。

 
  • 静态变量
  • 静态函数
  • 静态全局变量
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定