C語言變數初始化是必須的嗎?不初始化會怎樣?

2020-07-16 10:04:24
這個問題很重要!實際上前面講那麼多,其中有一個很重要的目的就是為了講這個知識點。所謂初始化就是“第一次賦值”的意思。我們先來看一個程式:
#include <stdio.h>
int main(void)
{
    int i;
    printf("i = %dn", i);
    return 0;
}
這裡i沒有被賦值,只是定義了一個儲存空間。這時輸出這個空間的內容,你覺得輸出的值會是多少?是一個任意值嗎?可以通過編譯、連結、執行看一下,如下圖所示。


圖1:顯示一個警告