Doh*_*rty 1 c variables gcc storage-class-specifier
在C,(GCC编译器)中,全局变量的默认存储类是什么?
让我分享一个代码,例如:
int i;
void f()
{ --statements--}
main()
{ --- set of statements--- }
Run Code Online (Sandbox Code Playgroud)
如果我说变量i是静态的而不是外部的,我是否正确?
在此代码中,i具有静态存储持续时间和外部链接.
存储持续时间是指变量存储的生命周期.静态存储持续时间表示该变量在程序的整个生命周期内都存在.
链接是指名称和对象之间的关系.外部链接意味着具有外部链接的名称的所有实例都表示相同的对象.您的int i;意愿与extern int i;另一个翻译单位的声明相符.
关键字static在不同的上下文中用作存储持续时间说明符和链接说明符,因此不清楚是否要求变量static.相反,应考虑变量的存储持续时间和链接.