C中一个变量的全局定义



简单地说,全局变量是在main()外部声明或定义的变量,其范围从定义点到程序结束。

我有几个关于全局变量的问题。我使用的是GCC编译器。

#include<stdio.h>
int a,b;
a=b=1;
main()
{
     printf("%dn%d",a,b);
}

此程序在时生成错误

#include<stdio.h>
int a,b;
main()
{
     a=b=1;
     printf("%dn%d",a,b);
}

生成正确的输出。为什么全局使用时不支持a=b=1?

我还有一个问题要问。

#include<stdio.h>
a=1;
b=9;
c='c';
h='h';
main()
{
    printf("%dn%dn",a,b);
    printf("%ct%cn",c,h);
}

生成正确的结果,并警告数据定义没有类型或存储类。我对全局变量完全感到困惑。

a=b=1;

语句,在全局范围内不能有语句,只能有声明和定义。

当你做

a=1;

将变量a隐式定义为int,然后将其初始化为值1。这只能在全球范围内进行,但不要这样做,因为这会引起很多混乱。

相关内容

  • 没有找到相关文章

最新更新