c語言夜未眠1 如何初始化各型別變數

2021-06-05 11:18:13 字數 603 閱讀 7552

對於變數,在定義之後應該及時地初始化。以免在沒有初始化的情況下成為右值。對於區域性變數,如果沒有初始化,那麼他的值是不可以**的,不要期望他將會等於你想要的值。因此,對每乙個變數初始化是乙個好習慣。

int i = 0;

float f= 0;

short s = 0;

long l = 0l;

char ch = 0;//char ch = '\0';也可以

char ac[4] = ;

int a[3] = ;

int abc[3] = ;

char *pt = null;

這裡特別強調指標,我們往往不會忘記將宣告的變數初始化為null,但是經常在給指標變數沒有分配空間或指向某個位址之前就使用他。

避免這一問題的方法是在使用指標前進行斷言assert(pt!=null),或者是

if(pt== null)

對於初學者來說,這是經常犯的錯誤:乙個變數沒有初始化就使用,結果出現莫名其妙的問題。因此,特寫一篇blog來提醒自己,同時也提醒其他初學者。

我的blog:

關於C語言中的未初始化變數的值

我們在剛學c程式設計的時候經常碰到 燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙 這是為什麼呢?先從上次某公司筆試說起,當時有一題是考到了關於變數初始化的問題。在主函式外面 全域性 和裡面 區域性 個定義乙個int型別數值。然後沒有賦值,直接列印出來,問輸出什麼。那會只知道全域性預設是0...

關於C語言中的未初始化變數的值

我們在剛學c程式設計的時候經常碰到 燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙 這是為什麼呢?先從上次某公司筆試說起,當時有一題是考到了關於變數初始化的問題。在主函式外面 全域性 和裡面 區域性 個定義乙個int型別數值。然後沒有賦值,直接列印出來,問輸出什麼。那會只知道全域性預設是0...

如何結束棧的初始化過程(C語言)

最近在嘗試著把棧的一些應用,例如進製轉換 括號匹配 逆波蘭計算取 中字尾轉換等寫成乙個大的demo,於是被資料型別的問題搞得略糾結。主要的問題在於初始化,如果棧中元素是int型別的,初始化的時候使用者通過scanf函式輸入整型,需要設定乙個停止的標識。很多例程中採用數字0或者其他數字作為停止符,這樣...