一:static :声明静态变量: static 关键字不仅可以用来修饰变量,还可以用来修饰函数。在使用 static 关键字修饰变量时,我们称此变量为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量。 修饰局部变量时:只改变变量的生命周期,但是不改变作用域。 修饰全局变量时:称为静态全局变量,会改变全局变量的链接属性,从而使得全局变量的作用域变小。这时用extern就会报错。 (修饰函数同理)。
#include<stdio.h>
char* GetMemory(void) {
static char p[] = "hello world";//不加static打印不出hello world。
return p;
}
int main(){
char* str = 0;
str = GetMemory();
printf(str);
}