stadic静态关键字
可以用来修饰变量
siadic int a;
声明a为静态常量,表示a是静态变量,
静态变量分为全局静态变量和局部静态变量,
全局静态变量表示该变量只能在所处的源文件中使用。
而局部静态变通常是在函数内部定义,只进行一次初始化,把本次执行的值一直保持,指到赋予新值;
函数调用时,会在栈中分配88字节大小的栈帧,用来进行函数的局部变量的存放等等,随着函数执行的结束,栈帧会被释放,函数中定义的变量就会随之销毁,
但是局部的静态变量并不会随着函数执行结束而销毁,这是因为虽然是在函数内定义的变量,但是加上static关键字,表示它是静态变量,存放在数据区中的静态变量区
static修饰的变量和全局变量,未初始化或者初始化为0时;存放在程序的.BSS段。值都为为零,可以理解为如果未初始化,系统默认初始化为0;初始化且不为零时。存放在程序的.date段。
同样的,函数我们也可以声明为静态函数
函数声明加上static声明为静态函数,静态函数和静态全局变量一样,是表示该函数只能在声明所处的源文件中使用