永发信息网

局部静态变量 全局静态变量的区别

答案:2  悬赏:70  手机版
解决时间 2021-11-08 19:44
  • 提问者网友:斑駁影
  • 2021-11-08 04:18
局部静态变量 全局静态变量的区别
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-11-08 04:49
局部静态变量通常放在函数内部,只能在函数内部,只进行一次初始化,每次执行函数时保持上一次执行时的值,如下代码所示:
void func() {
  static int x = 0; // 在对func的三次调用中,x只进行一次初始化
  printf("%d
", x); // 输出x的值
  x = x + 1;
}
  
int main(int argc, char * const argv[]) {
  func(); // 输出0
  func(); // 输出1
  func(); // 输出2
  return 0;
}全局静态变量是在全局变量前加一个static,使该变量只在这个源文件中可用,称之为全局静态变量,全局静态变量就是静态全局变量。
再多文件组成的程序里,全局变量与全局静态变量是不同的。全局静态变量使得该变量成为定义该变量的源文件所独享,使它文件不能使用。
全部回答
  • 1楼网友:孤老序
  • 2021-11-08 05:06
作用域咯

在函数外声明的变量,其作用域是从声明处到文件结束,在这个区域内的每一个函数都可以访问这个变量。而在函数内声明的变量,只有在这个函数之内才能访问
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯