C中,在宣告變數時不賦值和宣告變數時賦值,有什麼區

2021-03-11 00:10:15 字數 1772 閱讀 8549

1樓:匿名使用者

引用型別宣告變數時賦值可以避免null錯誤,非引用型別會自己增加初始值不管你是否賦值。

2樓:邵錢偉

當然有區別,比如bai

賦值的話變數裡面du就zhi會有值,而不賦值,只是開闢dao了這麼一個空間內

,裡面放的東容西是什麼就不知道了,會造成你程式出錯。

比如 int a,b,c;

c=a+b;

這個時候你根本不知道a和b裡面是什麼值,直接用來使用,當然c 自然也會得到無用的結果。

變數一般都會要求先賦值後使用

int a=1,b=2,c;

c=a+b;

或者int a,b,c;

a=1;

b=2;

c=a+b;

這樣就可以了。

當然這個只是簡單的情況,你可能會說自己會這麼傻麼,但是隨著程式複雜程度的提高,加入迴圈,各類變數的增多,那麼如果沒有養成良好的習慣,就會導致你可能在最後把一些變數忘記賦值最後得到了錯誤的就結果

3樓:匿名使用者

宣告時賦值與在建構函式裡面賦值是等價的。

4樓:匿名使用者

在你給的這個例子裡邊沒有什麼區別,但是在一半情況下一般給個初值比較好,這樣可以避免發生很多錯誤。

5樓:匿名使用者

沒有區別,test效果完全一樣

c#如何定義一個變數,賦值一次之後就不能再更改?

6樓:匿名使用者

宣告成來

靜態型別變自

量 static final int pi=3.14;bai或者常du量 const int pi =3.14;

或者只讀變數 readonly int pi=3.14;

具體選擇看

zhi你程式的dao應用了!

7樓:匿名使用者

const和readonly的值一旦初始化則都不再可以改寫;

const只能在宣告版時初始化;readonly既可以在宣告時初始化也可權以在構造器中初始化;

const隱含static,不可以再寫static const;readonly則不預設static,如需要可以寫static readonly;

const是編譯期靜態解析的常量(因此其表示式必須在編譯時就可以求值);readonly則是執行期動態解析的常量;

const既可用來修飾類中的成員,也可修飾函式體內的區域性變數;readonly只可以用於修飾類中的成員.

8樓:匿名使用者

做成屬性,

private string m_str=null;

public string str

set}}

9樓:匿名使用者

定義為常量 並初始化

湖北新藍海是一家專注於網路營銷 網路推廣的領頭企業 ,已為武漢健民、華工鐳射、江西仁和等多家知名企業提供網路營銷外包服務。詳情請到各大搜尋引擎中搜尋「湖北新藍海」

10樓:

private string xx = null;

public string myproperty

setelse}}

11樓:匿名使用者

我靠 下面的 說絕了

12樓:匿名使用者

加上const關鍵字

C 中宣告變數時,系統會在棧上分配記憶體,在程式結束時會釋放

區域性變數放在棧 stack 上,靜態 全域性 動態分配多放在堆 heap 中。動態分配的空間遠遠大於棧上的空間。比如你要裝載一幅圖到記憶體中進行處理,棧是肯定放不下的,只能用動態分配。因此,不要使用太大的區域性陣列,而儘量使用動態分配,最後不要忘了釋放掉。當你的程式需要指定的大小時就需要動態分配,...

C語言可以再for語句中宣告變數嗎

可以的,在for語句的迴圈體的大括號之內的最前面可以宣告變數,作用域僅在大括號內,出迴圈就被捨棄,是屬於迴圈體的臨時變數。for i 0 i 10 i c語言 可以在for裡面同時定義變數嗎?可以的,比如 include void main 但是注意 在for裡面定義的區域性變數只有在for語句塊裡...

在c語言中定義了字元變數給他賦值

因為字元變數在記憶體中存放的是其對應的ascii值,比如說字元 a 它的ascii值是97。char ch a printf d ch 輸出版結果就是97了。所以權對於字元變數你也可以這樣理解 它是單位元組的整型變數。所以當然可以對一個字元變數賦值一個1啊。有一個東西叫ascll碼。bai 就是說d...