使用非常量初始化程序定义全局变量

前端之家收集整理的这篇文章主要介绍了使用非常量初始化程序定义全局变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h>

int i=10;
int j=i;
int main()
{
    printf("%d",j);
}

我得到一个错误,说明初始化元素不是常量?这背后的原因是什么?

解决方法

What is the reason behind this?

C(与C不同)不允许使用非常量值初始化全局值.

C99标准:第6.7.8节:

All the expressions in an initializer for an object that has static storage duration shall be constant expressions or string literals.

猜你在找的C&C++相关文章