在下面的示例中,我在编译时遇到错误
int main() {
int x = 10; // guess this is runtime initialisation
static int y = x; //guess this is loadtime initialisation
printf("x = %d, y = %d", x, y);
}
错误:
error: initializer element is not constant
我的理解是,这与针对自动变量初始化静态和全局成员的方式有关。我想知道加载时间、运行时和编译时初始化之间的区别我还想知道存储在数据部分和堆栈中的元素值及其对初始化的影响。