C语言中static变量的作用

C语言中常用的关键字static变量就是静态变量的意思。

1 如果是作为局部变量,即使在声明时未赋初值,编译器也会把它初始化为0static定义的变量在函数返回后值不会改变。即如果在函数中变量被赋值为5,函数返回了,这个变量的值仍然为5。因为static变量是保存在全局区的。不会随着堆栈的消亡而消亡。

2 如果作为全部变量,则表示该变量修饰的内容只对本文本可见,其他文件不能引用,这样有利于文件规范,像很多官方的驱动文件的一些函数就都是用static变量修饰只在当前文件使用的。

       静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。

       静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。

你可能感兴趣的:(C语言学习,MCU开发学习,c语言)