#include<stdio.h>
void main(){
static int n;
//n就是静态局部变量,默认初始化为0
printf("n=%d",n);
getchar();
}
void fn(void){
int n =10;//普通变量,每次执行都会初始化,n在栈区
printf("n=%d",n);
n++;
printf("n++=%d",n);
}
void fn_static(void){
static int n = 10;//静态局部变量,放在静态存储区,全局性质空间
printf("static n=%d",n);
n++;
printf("n++=%d",n);
}
int main(void){
fn();
printf("---------------");
fn_static();
printf("----------------");
fn();
printf("-------------");
fn_static();
getchar();
return 0;
}
#include<stdio.h>
//在一个文件中,使用另外一个文件的全局变量,使用ertern引入即可
extern int num;
extern int num2;
int num =60;
void main(){
printf("num=%d num2=%d",num,num2);
getchar();
}
int num = 10;
//普通全局变量
static int num2 = 20;
//静态全局变量,只能在本文件中使用,而不能在其他文件使用
#include <stdio.h>
void fun1(void){
//普通函数
printf("hello from fun1");
}
static void fun2(void){
//静态函数,它只能在本文件中使用
printf("hello from fun2");
}
#include<stdio.h>
extern void fun1(void);
extern void fun2(void);
void fun2(){
...
}
void main(){
fun1();
fun2();
getchar();
}
原文:https://www.cnblogs.com/mx-info/p/14365120.html