C 不進行中變數初始化初始化會造成什麼影響

時間 2022-06-26 08:15:10

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...