变量到底是在编译的时候初始化的,还是在运行的时候初始化的?
如下函数:居然调用两次打印出来的值分别是1和2,非常不好理解
如果按照C PRIMER PLUS说的这样的变量是在编译的时候初始化的,
实在令人难以理解,编译只是生成了可执行文件而已
何来在内存里分配了空间并赋值?
int f (void)
{
static int mm=1;
mm++;
printf("%d\n",mm);
}
...全文
229148打赏收藏
请教:变量到底是在编译的时候初始化的,还是在运行的时候初始化的?
变量到底是在编译的时候初始化的,还是在运行的时候初始化的? 如下函数:居然调用两次打印出来的值分别是1和2,非常不好理解 如果按照C PRIMER PLUS说的这样的变量是在编译的时候初始化的, 实在令人难以理解,编译只是生成了可执行文件而已 何来在内存里分配了空间并赋值? int f (void) { static int mm=1; mm++; printf("%d\n",mm); }