为什么在C语言中const变量不需要初始化?

25 浏览
0 Comments

为什么在C语言中const变量不需要初始化?

在C++中,const变量必须被初始化,这意味着未初始化的const变量是不允许的,会导致编译错误。但是为什么在C语言中不是这样呢?

考虑以下可以在C中编译的程序:

#include 
int main()
{
    const int a;
}

为什么允许未初始化的const变量呢?如果C也遵循C++的规则,那不是更好吗?是因为性能问题,每次调用函数时都需要初始化局部const变量,而初始化需要时间吗?

0