C语言——作用域与存储变量经典实例

xiaoxiao2025-11-20  6

/* ** 作用域 存储类型 备注 */ int a = 5; // external static extern int b; // external static 其实缺省为"extern" static int c; // internal static external的加上“static”变为internal int d (int e) // d: external static 函数都是static存储 e:局部作用域,函数内部 auto 函数调用时创建,执行完消失 { int f = 15; // 不具有链接属性 auto 局部变量 register int b; // 不具有链接属性 auto 其值初始化为“垃圾” static int g = 20; // 不具有链接属性 static 在函数执行前g 就被创建并赋值为20了 extern int a; // external static 这句声明其实没有必要 ... { int e; // 不具有链接属性 auto 覆盖形参的e int a; // 不具有链接属性 auto 覆盖第一行的a extern int h; // external static 可以引用其他源文件的h;与上面的extern int a不同,这里必须extern声明 ... } ... { int x; // 不具有链接属性 auto 与上个代码段的e不是一个值,且覆盖形参e int e; // 不具有链接属性 auto ... } ... } static int i() // internal static 函数d()也没办法引用函数i(),其作用域为本行至文件结尾 { ... } ...

 

转载请注明原文地址: https://www.6miu.com/read-5039954.html

最新回复(0)