本實例對比 static 與普通局部變量(隐式 auto)在塊作用域中的生命週期差異。
num(2→3→4)。static int num = 1,首次初始化為 1,之後每次進入塊保持上次值(1→2→3)。auto(實例42),每次進入塊重新初始化為 1。// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
int main() {
int i, num;
num = 2;
for (i = 0; i < 3; i++) {
printf("num 變量為 %d \n", num);
num++;
{
static int num = 1;
printf("內置模塊 num 變量為 %d\n", num);
num++;
}
}
return 0;
}
num 變量為 2
內置模塊 num 變量為 1
num 變量為 3
內置模塊 num 變量為 2
num 變量為 4
內置模塊 num 變量為 3