您好,登錄后才能下訂單哦!
藍鷗iOS培訓講師推薦:技術天下,掌握一門過硬的技術成為如今最強有力的資本,走到哪都能吃得開,那么iOS開發是如今最流行的行業之一,也是同學追求的目標!
一個函數一般由兩部分組成:聲明部分和執行語句
聲明部分的作用是對有關的標識符(如變量,函數,結構體,共用體等)的屬性進行說明,對于函數,聲明和定義的區別是明顯的,前邊已說明,函數的聲明是函數的原型,而函數的定義是函數功能的確立,對函數的聲明是可以放在聲明部分中的,而函數的定義顯然不在函數的聲明部分范圍內,它是一個文件中的獨立模塊。
對變量而言,聲明與定義的關系稍微復雜一些,在聲明部分出現的變量有兩種情況:一種是需要建立存儲空間的(如int a; );另一種是不需要建立存儲空間的(如extern int a;),前者稱為定義性聲明(defining declaration),或簡稱為定義(definition),后者稱為引用性聲明(referenceing declaration),廣義地說,聲明包括定義,但并非所有的聲明都是定義,對“int a;” 而言,它是定義性聲明,既可說是聲明,又可說是定義,而對“extern int a;” 而言,它是聲明而不是定義,一般為了敘述方便,把建立存儲空間的聲明稱為定義,而把不需要建立存儲空間的聲明稱為聲明,顯然這里指的聲明是狹義的,即非定義性聲明,例如:
int main( )
{
extern int a;//這是聲明不是定義,聲明a是一個已定義的外部變量
…
}
int a;//是定義,定義a為整型外部變量
外部變量定義和外部變量聲明的含義是不一樣的,外部變量的定義只能有一次,它的位置在所有函數之外,而同一文件中的外部變量的聲明可以有多次,它的位置可以在函數之內,也可以在函數之外,系統根據外部變量的定義分配存儲單元,對外部變量的初始化只能在定義時進行,而不能在聲明中進行,所謂聲明,其作用是向編譯系統發出一個信息,聲明該變量是一個在后面定義的外部變量,僅僅是為了提前引用該變量而作的聲明,extern只用作聲明,而不用于定義。
用static來聲明一個變量的作用有二: (1)對局部變量用static聲明,使該變量在本函數調用結束后不釋放,整個程序執行期間始終存在,使其存儲期為程序的全過程,(2)全局變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。
不過大家一定要注意:用auto,register,static聲明變量的時候,是在定義變量的基礎上加上前面的關鍵字,不能單獨用,應該寫成這樣的形式“static int a;”
本章小結:這樣一來,大家就能夠掌握關于C++變量的聲明和定義的相關內容,及其用法,如有不懂得地方可相互溝通!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。