c語言變量一定要初始化嗎 在c語言中,局部變量初始化是什么意思,要怎么初始化?
在c語言中,局部變量初始化是什么意思,要怎么初始化?C語言按范圍一般分為全局變量和局部變量。一旦聲明了全局變量,默認(rèn)情況下它將被初始化為適當(dāng)?shù)念愋?,而當(dāng)聲明了局部變量時(shí),它的值是不可預(yù)測的。因此,對
在c語言中,局部變量初始化是什么意思,要怎么初始化?
C語言按范圍一般分為全局變量和局部變量。一旦聲明了全局變量,默認(rèn)情況下它將被初始化為適當(dāng)?shù)念愋?,而當(dāng)聲明了局部變量時(shí),它的值是不可預(yù)測的。因此,對于后續(xù)程序的正常使用,最好是將其初始化得恰到好處,否則有時(shí)會造成災(zāi)難性的后果!第二個問題,例如:intmain(){Chara;//未初始化。以后可以初始化。Char*P=&A;//已初始化。指針P給定了變量a的地址,char*q;//未初始化。太危險(xiǎn)了!因?yàn)橹羔榪是一個局部變量,此時(shí)的值是不確定的,它可能指向系統(tǒng)的重要數(shù)據(jù)。一旦在初始化變量之前遇到類似下面的語句,就很危險(xiǎn):q=&A;}
在C語言中,初始化操作是在定義變量時(shí)給變量賦值,稱為變量初始化。字符變量也是如此。示例如下:
C語言怎樣初始化變量?
當(dāng)局部變量未初始化并且在第一次賦值之前引用了該變量的值時(shí),將報(bào)告使用未初始化局部變量的警告或錯誤。
局部變量以
type var=init的形式定義,其含義是定義一個類型為var的局部變量,并將其初始化為init value。
其中,=init值部分可以省略。此時(shí),VaR的初始值將是一個隨機(jī)值,由編譯器或運(yùn)行環(huán)境決定。
如果初始值未知的VaR是由
type VaR
定義的,并且其值在賦值前被引用,例如打印、參與計(jì)算等,則VaR的值是不確定的。從某種意義上說,此時(shí)輸出什么值對程序的結(jié)果沒有意義。
因此,如果發(fā)生這種情況,編譯器將發(fā)出警告或錯誤,以提醒存在這種不確定因素。
對于大多數(shù)編譯器來說,這只是一個警報(bào),而不是一個錯誤。