c语言全局变量为啥不可以初始化变量值 c++全局变量为啥可以初始化变量值

#include<iostream>
using namespace std;
int a=43;
int b=a;//这里可以
int main()
{
	
}
c++全局变量为啥可以赋值变量值
#include<stdio.h>
int b=43;
int c=b;//这里不行
int main()
{
	
}
c语言版本全局变量为啥不能赋值变量

 

C语言的全局变量只能用常量表达式进行初始化。这个似乎跟编译器有关,具体就不太了解了。

不了解c,目测是这样:

c++的全局变量可以在运行时再初始化;

c的全局变量必须在编译期完成初始化。