C语言extern和static--2014.10.10

来源:互联网 发布:零之镇魂曲 知乎 编辑:程序博客网 时间:2024/06/05 05:49

1.extern和static的用法

extern:用于修饰变量或函数

只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量  一定要加上extern 声明一下例如 #include "my_Fun.c"     extern int b;//b是在my_Fun.c中声明了的一个全局变量 

static:被它修饰的全局变量和函数只能在本模块中使用。

(1)全局变量中:

举例:

#include <stdio.h>#include "file1.h"void main(){printf("%d",a);//此时a=9;和下面函数没有任何关系//test();            但是如果执行下面这句的话将会打印出9}//a.c文件#include<stdio.h>static int a=9;void test(){printf("%d",a);}file1.h文件#include <stdio.h>void test();


(2)局部变量中

file.1h文件还是上面那个文件

//局部变量#include<stdio.h>#include "file1.h"void main(){test();test();test();test();printf("a=%d---b=%d",a,b);//若带上这句程序会报错}//a.c文件#include<stdio.h>void test(){static int a=0;int b=0;printf("a=%d---b=%d",a,b);a++;b++;}//file.h文件#include<stdio.h>void test();

(3)函数中  static

相当于java中的private



0 0
原创粉丝点击