怎樣解決未初始化的局部變量 “使用了未初始化的局部變量”是什么意思啊?應(yīng)該怎么改?。?/h1>
這個局部變量將有一個未知值,這是非常不可靠的。它可能是調(diào)用其他子例程后臨時刪除的數(shù)據(jù)的一部分。要正確運行算法,必須初始化局部變量?!笆褂昧宋闯跏蓟木植孔兞俊笔鞘裁匆馑及??應(yīng)該怎么改???當(dāng)局部變量未初
這個局部變量將有一個未知值,這是非常不可靠的。它可能是調(diào)用其他子例程后臨時刪除的數(shù)據(jù)的一部分。要正確運行算法,必須初始化局部變量。
“使用了未初始化的局部變量”是什么意思???應(yīng)該怎么改啊?
當(dāng)局部變量未初始化且在第一次賦值之前引用了該變量的值時,將報告使用未初始化局部變量的警告或錯誤。
局部變量以
type var=init的形式定義,其含義是定義一個類型為var的局部變量,并將其初始化為init value。
其中,=init值部分可以省略。此時,VaR的初始值將是一個隨機值,由編譯器或運行環(huán)境決定。
如果初始值未知的VaR是由
type VaR
定義的,并且其值在賦值前被引用,例如打印、參與計算等,則VaR的值是不確定的。從某種意義上說,此時輸出什么值對程序的結(jié)果沒有意義。
因此,如果發(fā)生這種情況,編譯器將發(fā)出警告或錯誤,以提醒存在這種不確定因素。
對于大多數(shù)編譯器來說,這只是一個警報,而不是一個錯誤。
C語言,使用了未初始化的局部變量?
顯然,I和y都是局部變量。I的初始值是0,但y是尚未初始化的局部變量。
例如:
int main{int i=0
int y
For(i
//…
}
extended data:
C中初始化的全局變量在編譯時保存在數(shù)據(jù)部分,而未初始化的全局變量保存在BSS部分。這樣保存的原因是數(shù)據(jù)段中的變量需要分配空間來存儲編譯文件中的變量值
在不初始化的情況下,保存的變量(或初始化為0的靜態(tài)變量和全局變量)的默認值為0。不需要在數(shù)據(jù)段中存儲所有值為0的變量,而BSS段僅為未初始化的全局變量和局部靜態(tài)變量保留位BSS段沒有內(nèi)容。
但是,這些變量將在程序執(zhí)行期間占用內(nèi)存空間,因此可執(zhí)行文件必須在BSS段中記錄變量占用的空間。
c 中什么叫使用了未初始化的局部變量y?
Int(*b)[3]表示b是指向數(shù)組的指針。在使用指針之前,您需要給它賦值,即讓指針變量存儲一個地址,例如:int c[3]B=c。要實現(xiàn)您所說的功能,只需將指針p指向要分配的數(shù)字(即將源地址存儲在p中),然后使用*p訪問該數(shù)字。代碼如下:int b[3][3]int*P for(I=0I
使用了未初始化的局部變量怎么處理?
這是一個會導(dǎo)致程序失敗的錯誤。
編程的一個原則是,在定義變量(方法)之前不能使用它。
使用了未初始化的局部變量是什么?
表示:局部變量初始化尚未完成,工作效率不高。