- 12
- 0
- 约5.58千字
- 约 8页
- 2019-09-14 发布于广东
- 举报
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用仃三条。
先來介绍它的第一条也是最重要的一条:隐藏。
当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话, 我举例來说明。我们要同时编译两个源文件,一个是a.c,另一个是main.Ce
下面是a.c的内容
char a = A; // global variable
void msg()
{
printf(” Hellon”);
}
下面是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是可见的。
如果加了 static,就会对其它源文件隐藏。例如在a和msg的定义前加上static, main.c就看不到它们 To利川这一特性可以在不同的文件中定义同名函数
您可能关注的文档
最近下载
- 新22G01 砌体房屋结构构造(烧结普通砖、烧结多孔砖).docx VIP
- 农林单位面试题及答案2025.docx VIP
- 陕西西安咸阳国际机场股份有限公司招聘笔试题库2026.pdf VIP
- 山东省青岛市海信学校2024--2025学年九年级上学期期中考试化学试题(含答案).pdf VIP
- 中国石化液态烃装卸管理制度.pdf VIP
- 中国石化液态烃装卸管理制度.pdf VIP
- 全国工会系统经审业务技能大赛判断题知识题库404题.pdf VIP
- ISO9227-2022(2024)人工大气腐蚀试验(中文版本).pdf
- 设计任务书范本.pdf VIP
- T_CSTM 00885—2024(土壤中微塑料的测试傅里叶变换显微红外光谱法).pdf
原创力文档

文档评论(0)