首先是静态变量,静态变量是不是相当于一直存在,随取随用?还有就是在一个函数里面,如果有循环不断取用这个静态变量,是不是循环一次,这个变量变一次,第二次循环是用这个变了的变量?
其次是extern这个外部的,是不是意思就是提取外部静态变量?
动态变量和存储器变量又该怎样理解?
求大佬解答,万分感谢!!!
静态变量贯穿整个程序的生命周期,而不会随着函数调用完而消失。extern如果是局部的就是用全局变量,如果是全局的就可以调用其他源文件的全局变量。动态全局变量,作用域为整个项目,贯穿整个运行时间。静态全局变量,作用域为当前文件,贯穿整个运行时间。动态局部变量,作用域为当前函数,生命周期为从函数调用到函数退出。 静态局部变量,作用域为当前函数,贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值。
静态变量是一直存在的,只赋一次初始值。extern可以提取函数外任何变量。