在功能块外部声明的C中的自动存储类变量

时间:2018-09-26 09:14:39

标签: c

#include<stdio.h>
void function1(void);
auto int z = 10;

int main()
{
printf("Hello, I'm main.\n");
}

void function1(void)
{
printf("Hello, I'm function1.\n");
}
  • 变量“ z”在功能块外部声明,属于 “自动存储类”。
  • 在这种情况下,变量“ z”是哪个功能块的一部分?
  • 在这种情况下变量'z'的属性是什么?

1 个答案:

答案 0 :(得分:4)

代码包含约束违反,并且不是有效的C代码。这意味着不能保证您的代码可以正确编译或正常工作。

  

6.9外部定义

     

约束

     
      
  1. 存储类说明符autoregister不应出现在   外部声明。
  2.   

因此,您的问题的答案是:

  • 变量不是任何功能块的一部分,因为它是外部声明。
  • 变量z的属性未定义,因为代码无效。