Static关键字

C语言中的static关键字和Java的static关键字意义不一样。

1 用static修饰函数

  • static
    用static修饰C语言的函数,表示此函数为内部函数,只在当前源文件能被访问到。
  • extern
    而使用extern修饰的函数(可以省略),则是外部函数,可以被其他源文件访问

2 用static修饰全局变量

被static修饰的全局变量,同样只能在当前源文件中被访问。

3 用static修饰局部变量

如果在一个函数内部的局部变量使用static关键字修饰

  • 则表示这个变量会被存储在静态存储区
  • 生命周期是从程序开始到结束
  • 初始化只执行一次(可以不显示初始化,默认初始为广义的0[对象为0指针])
  • 函数被重复调用时,访问到的是之前保留的值

你可能感兴趣的:(Static关键字)