1. 程式人生 > >變數宣告和定義的區別

變數宣告和定義的區別

常量:在程式執行過程中,不會發生改變的量,不能被改變的量

變數:在程式執行過程中,可以被改變的量

定義變數的方式:資料型別 變數名 = 常量;
int num = 10;//定義(分配儲存空間,初始化值為常量)
int num;//定義性宣告defining declaration(分配儲存空間,分配垃圾值)
extern int num;//引用性宣告referncing declaration,(不分配儲存空間,不分配垃圾值)不限於本檔案使用

  • 變數的定義用於為變數分配儲存空間,還可以為變數指定初始值。在一個程式中,變數有且僅有一個定義
  • 一般的情況下我們常常這樣敘述,把建立空間的宣告稱之為“定義”,而把不需要建立儲存空間的宣告稱之為“宣告”。很明顯我們在這裡指的宣告是範圍比較窄的,即狹義上的宣告,也就是說非定義性質的宣告
  • 函式宣告時,編譯器不給函式分配入口地址
  • 函式定義時,函式程式碼段會被放到程式碼塊中,這時候就算給函式分配儲存空間了,函式名對映函式的入口地址。
  • 宣告的最終目的是為了提前使用,即在定義之前使用,如果不需要提前使用就沒有單獨宣告的必要,變數是如此,函式也是如此,所以宣告不會分配儲存空間,只有定義時才會分配儲存空間