第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

第五行sum=0有什么用?刪除不是也可以運行

第五行sum=0有什么用?刪除不是也可以運行

正在回答

2 回答

1. 變量的定義、聲明

變量的聲明有兩種情況:

一種是需要建立存儲空間的。例如:int? a。在聲明的時候就已經建立了存儲空間。這種聲明是"定義性聲明(defining declaration)",即我們平時所說的“定義”。

另一種是不需要建立存儲空間的,只是告訴編譯器某變量已經在別處定義過了。例如:extern int a。其中,變量a是在別處定義的。這種聲明是"引用性聲明(referncing declaration)",即我們平時所說的“聲明”。

?

從廣義的角度來講,聲明中包含著定義,但是并非所有的聲明都是定義。即,定義性聲明既是定義又是聲明,而引用性聲明只是聲明。例如:int a。它既是聲明,同時又是定義。然而對于 extern int a 來講,它只是聲明不是定義。

?

一般的情況下我們常常這樣敘述,把建立空間的聲明稱之為”定義”,而把不需要建立存儲空間的稱之為”聲明”。很明顯這里指的聲明是范圍比較窄的,也就是說引用性的聲明。

?

例子:

int a; //定義性聲明,分配存儲空間,初值不確定

int b = 0; //定義性聲明,分配存儲空間,賦初值

extern int c; //引用性聲明,不分配存儲空間,只是告訴編譯器這個變量已經在別處定義過了

?

2. 函數的定義、聲明

函數的定義和聲明也是一樣,定義需要分配存儲空間;聲明只是告訴編譯器這個函數已經在別處定義過了。

函數的定義和聲明比較好區(qū)分。有函數體的即為定義,不帶函數體即為聲明。

?

例子:

//聲明

double sqrt(double x);

?

//定義

double sqrt(double x)

{

????????? return x*x;

}

?

3. 定義與聲明的區(qū)別

(1)是否需要分配存儲空間。

(2)在一個作用域中可以重復聲明,但不能重復定義。這是由(1)決定的,可以重復幾次告訴編譯器某個變量、函數已經在別處定義了,但不能重復多次地讓編譯器為同一個變量、函數分配不同的存儲空間。

---------------------------------------------------------------------------------------------------------------------------

所以sum=0;是將0賦值給sum;如果不賦值,sum的值不確定,運行的結果也不可知

1 回復 有任何疑惑可以回復我~
#1

qq_北落師門_0 提問者

非常感謝!
2015-05-11 回復 有任何疑惑可以回復我~

初始化sum

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

第五行sum=0有什么用?刪除不是也可以運行

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號