C语言中变量的全局定义
简单来说,全局变量是在main()之外声明或定义的变量,其作用域从定义点到程序结束 我有几个关于全局变量的问题。我正在使用GCC编译器C语言中变量的全局定义,c,global-variables,C,Global Variables,简单来说,全局变量是在main()之外声明或定义的变量,其作用域从定义点到程序结束 我有几个关于全局变量的问题。我正在使用GCC编译器 #include<stdio.h> int a,b; a=b=1; main() { printf("%d\n%d",a,b); } #包括 INTA,b; a=b=1; main() { printf(“%d\n%d”,a,b); } 此程序在运行时生成错误 #include<stdio.h> int a,b; main
#include<stdio.h>
int a,b;
a=b=1;
main()
{
printf("%d\n%d",a,b);
}
#包括
INTA,b;
a=b=1;
main()
{
printf(“%d\n%d”,a,b);
}
此程序在运行时生成错误
#include<stdio.h>
int a,b;
main()
{
a=b=1;
printf("%d\n%d",a,b);
}
#包括
INTA,b;
main()
{
a=b=1;
printf(“%d\n%d”,a,b);
}
生成正确的输出。为什么全局使用时不支持a=b=1
我还有一个问题要问
#include<stdio.h>
a=1;
b=9;
c='c';
h='h';
main()
{
printf("%d\n%d\n",a,b);
printf("%c\t%c\n",c,h);
}
#包括
a=1;
b=9;
c='c';
h='h';
main()
{
printf(“%d\n%d\n”,a,b);
printf(“%c\t%c\n”,c,h);
}
生成正确的结果,并警告数据定义没有类型或存储类。我完全搞不懂全局变量 线路
a=b=1;
是一个语句,在全局范围内不能有语句,只能有声明和定义
当你这样做的时候
a=1;
将变量
a
隐式定义为int
,然后将其初始化为值1
。这只能在全局范围内完成,但不要这样做,因为这会引起很多混乱。在最后一个例子中,它的一个警告bcoz-ur-main函数没有返回类型。@Vimal:这完全是错误的。我运行了带有返回类型和不带返回类型的代码。。当然,您需要声明全局变量的数据类型。