首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 嵌入式系统 > C 语言之static 辨析

C 语言之static 辨析

资料介绍
C 语言之static 辨析
C 语言之 static 辨析
概述:
概述:在 C 语言中,static 的字面意思很容易把我们导入歧途,其实它的作用有三条:
(1)隐藏功能。
(2)保持变量内容持久
(3)默认初始化为 0

(1)第一条也是最重要的一条:
第一条也是最重要的一条:隐藏。
隐藏。

当我们同时编译多个文件时, 所有未加 static 前缀的全局变量和函数都具有全局可见性。
为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是 a.c,另一个是 main.c。
下面是 a.c 的内容
char a = 'A'; // global variable
void msg()
{
printf("Hello\n");
}
Examda 提示: 下面是 main.c 的内容
int main(void)
{
extern char a; // extern variable must be declared before use
printf("%c ", a);
(void)msg();
return 0;
}
程序的运行结果是:
A Hello
你可能会问: 为什么在 a.c 中定义的全局变量 a 和函数 msg 能在 main.c 中使用?前面说
过,所有未加 static 前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。此
例中,a 是全局变量,msg 是函数,并且都没有加 static 前缀,因此对于另外的源文件 main.c
是可见的。
标签:c语言static
C 语言之static 辨析
本地下载

评论