c语言关键字有3种用法
全局变量
在全局变量前加 此变量作用域被限制在本文件中可见,如果以文件作为模块static在c++中的作用,变量增加类似于本模块的私有变量,如果没有初始化此变量的话和全局变量一样默认会初始化为 0。
局部变量
局部变量为函数内部变量前加关键字static在c++中的作用,此变量生存期超越普通局部变量,其实编译器内部实现就是全局变量,只不过这个全局变量,只能在定义此变量的函数内访问,它的作用域只在此函数中。
函数
在函数前面加关键字和全局变量一样,函数变成私有本文件内有效。
一. 全局变量
static int a1; //初始化为0, 本文件内有效
int b1; //初始化为0, 可以被外部文件引用
int main(void)
{
printf("%dn", a1);
return 0;
}
局部变量
void fn1(void)
{
static a1 = 0; //第一次进入此函数调用此语句,再次进入不调用
a1++; //每次进入函数都加1
printf("value a1:%dn", a1);
}
int main(void)
{
for (int i = 0; i < 10; i++)
fn1();
}
//最终程序会打印出 9
全局函数
static fn1(void) //此函数仅仅在定义此函数的文件中可见,不能被外部文件调用,类似于c++中的私有函数
{
printf("I'm fn1n");
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。