显式声明期间的初始化

时间:2014-11-17 10:23:31

标签: c global-variables

我正在通过以下代码,但它让我觉得在下面的代码中int y=5语句在程序结束时,main函数也有return语句,所以甚至在到达之前程序控件返回编译器的最后一个语句,这个代码是如何工作的。

#include<stdio.h>

int x = 10 ;
int main( )
{
    extern int y;
    printf(“The value of x is %d \n”,x);
    printf(“The value of y is %d”,y);
    return 0;
}

int y=50;

1 个答案:

答案 0 :(得分:1)

您仔细阅读了该程序。

int y=50;不在main()函数范围内。它在main()之外。它是一个全局变量,就像int x = 10 ;

一样

因此,您的main()在执行过程中不会被到达此语句。但是,为了提高可读性,将所有全局变量声明和定义放在文件的开头是事实上的标准。