static在c语言中的用法
1、修饰变量(局部变量和全局变量):使用static关键字声明的变量是静态变量,存储在静态区,它们的作用域被限制在定义它们的源文件中,它们的生命周期从程序开始运行到程序结束。静态变量的初始值为0,且只能被初始化一次。
2.修饰函数:使用static关键字声明的函数是静态函数,它们的作用域被限制在定义它们的源文件中,它们不能被其他文件中的函数调用。静态函数只能在定义本文件中使用。
总结如下:
static 修饰局部变量 该变量存储与静态区。只能在{}内使用 只能被初始化 一次 。
static 修饰全局变量 该变量存储与静态区。只能在当前C文件中使用 ,只能被初始化 一次 ,多用于防止全局变量重名导致的问题。
static 修饰函数 该函数只能在本文件内使用。
注:
(1)静态变量和函数只能被定义一次,不能在其他文件中再次定义。
(2)静态变量和函数的作用域和生命周期不同于普通变量和函数,它们的值在程序运行期间一直存在。
(3)静态变量的初始值为0,如果没有显示地给静态变量赋初值,则它们的值为0。
(4)静态函数只能在定义它们的文件中使用,不能被其他文件中的函数调用。
const在c语言中的用法
const修饰变量,表示希望此变量具有只读性,防止被直接直接修改。修饰全局变量时,该变量存储与常量区。