1樓:匿名使用者
c++不對變數初始化,可能會導致以下後果:
計算結果不正確
程式邏輯與期望邏輯不一致
對於使用函式指標的程式,將導致程序崩潰。
寫入硬碟的資料產生錯誤
嚴重的可能導致系統甚至硬體出現故障。
2樓:熊汗青
看是什麼變數,靜態變數不初始化自動賦零,動態的為不確定值。若指標不初始化,則會在執行時出現崩潰,說某某記憶體不能為read。初始化是必須養成的程式設計習慣!!!!!!!
3樓:匿名使用者
如果不初始化,變數中儲存的資料隨機未知,可能會造成麻煩
4樓:
要看 變數在程式中使用情況而定 如果類似一些具體函式 自己寫的話比如定義一個整型變數i 通過函式操作賦值後 以後使用i均是操作後的i 這就不會有什麼問題 因為 i本身已經有了值
但是如果定義的變數需要迴圈性使用和初始化使用的話 沒有初始化 會是後來函式的輸出值 不確定 比如定義的類物件裡的屬性或者遞迴函式中的變數 一般都需要提前初始化
其實還是建議初始化下
5樓:戴曼彤
int a;如果你不知道a是多少,你想對它做什麼操作呢?
1. a=1;想這樣做賦值操作,自然可以,基本可以輸入初始化範疇;
2. 用於計算,cout<
using namespace std;
int main()
最後我想說一句,不對變數初始化是很危險的。
c++中,如果沒有給變數初始化,將會出現什麼情況?
6樓:扶淑貞牢孤
如果不初使化int變數,將得到一個隨機值。
如果不初使化一個靜態變數,編譯器會自動初使化為0
7樓:唐蓉蓉孛莘
在定義int
n的時候會給變數n分配一個地址
如果沒有對n
進行初始化,則會把n所在的那個地址上原來存在的資料作為n的值所以幾乎是無法預知的..
8樓:紫婧鞠穎
如果不初使化一個int靜態變數,編譯器會自動初使化為0,我同意一樓的說法,但是在第二句話少了一個int啊!
在c++語言中,為什麼要給變數做初始化.這樣做有什麼好處啊?
9樓:
初始化是很好的程式設計習慣,可以防止程式裡對不可**的值進行運算。
原因嘛。。因為申請的變數,其實是在記憶體中開闢了一塊空間,這塊記憶體可能會殘留著其他程式執行後所留下的一些資訊(這些資訊對你的程式肯定是沒用的),
因此,新宣告的變數初始值很可能不是0。
所以,為了安全,就要進行初始化,保證程式的可預見性。
希望能幫到你
10樓:匿名使用者
如果不給變數賦初值,那麼變數的值就是隨機的,你無法預知變數的值是多少,一代在程式中使用這些變數之前忘記賦值,那麼程式的執行結果將是不可預料的!
因此,給變數賦初值是程式設計的一個良好的習慣,不單單是c++,任何程式設計語言都應該遵循這個規定!!這是一個程式設計師應有的基本習慣之一!
11樓:匿名使用者
因為使用迴圈等要求變數有初值,而且這是一個好習慣,防止寫到後來忘了按題目要求賦初值
12樓:匿名使用者
如果對變數未賦初值,則該變數的初值是一個不可**的值,該儲存單元中當時的內容也是不知的。在程式執行時,易出錯。
13樓:
好處是:
不初始化的變數的值是隨機的(一般隨機值不是0);初始化的值比賦值的代價低很多。
14樓:匿名使用者
一種良好的習慣,防止使用未初始化的變數造成未知錯誤。
15樓:
這是編譯器當時就設定號了的 如果你不初始化就不能通過編譯 或是自動分配時出錯
16樓:
良好的程式設計習慣將會給你以後的程式設計帶來很大的便利。也可以避免一些錯誤
17樓:匿名使用者
不初始化編譯系統難以繼續工作
c++中區域性變數一定要初始化嗎,為什麼?
18樓:匿名使用者
是啊= =全域性變數不用,系統給初始化區域性變數是存放在堆區的,所以需要程式設計師進行管理。用new來分配記憶體空間。
19樓:匿名使用者
原則是這樣的,就是變數定義時要初始化,不然這個變數代表的值是不可想象的,尤其是遇到指標問題,通常是會出錯的。野指標。這是應該是一個程式設計習慣。
20樓:匿名使用者
不一定需要初始化。只要你不需要它一開始有個確定的值,不用初始化也沒影響的。
21樓:茶花靜
可以不初始化,但是在後續的過程中,一旦需要使用這個變數,一定要記得先初始化,所以在宣告時就初始化是個好習慣,也是值得提倡的做法
22樓:匿名使用者
不一定要初始化呀 在它的生命期內應用即可
為什麼c/c++陣列初始化長度不支援變數? 不這樣做有什麼弊端嗎? 能不
23樓:時間觀察者
c++還是比較底層的語言 陣列方面是基本資料型別在記憶體中定義多少 就是多少 一次開闢好 不是高階類 無法動態開闢如果你想動態申請 可以用malloc 申請記憶體或者弄成 類 用new的方式 開創新空間。
你可以找一些動態申請記憶體的相關知識。
定義陣列本身是不可以用變數定義的。
物件陣列初始化,物件陣列初始化(C )
95郭逗比 一 一維 int numbers new int 不定長 int numbers new int 3 定長 二 多維 int numbers new int 不定長 int numbers new int 2,2 定長 三 例子 a int mf1 new int 6 注意初始化陣列的範...
c語言變數初始化的方式,C語言中變數的初始化怎麼理解?
全域性變數的初始化 對於不同編譯單位的全域性變數,其初始化的順序沒有任何的保證,因此對不同編譯單位裡的全域性變數,在它們的初始化順序之間建立依賴性都是不明智的。此外也沒辦法捕捉到全域性變數初始化丟擲的異常,一般來說要減少全域性變數的使用,特別是限制那些要求複雜初始化的全域性變數。1,儘量不用全域性變...
c語言中變數初始化與賦初值有什麼不同
語法上的初始化是指物件定義時,對應的分配空間之後對於值的操作。c語言中,靜態和全域性變數預設置0,有初始化列表的複製初始化列表的值到空間 如有不足,剩餘部分置0 區域性自動變數可以不初始化 偵錯程式參與時可能被隱式地初始化為其它的值 debug magic number 例如預設情況下microso...