宣告與定義

2021-07-10 21:37:14 字數 503 閱讀 8723

什麼是宣告?什麼是定義?它們有什麼區別?

定義:

什麼是定義:所謂的定義就是(編譯器)建立乙個物件,為這個物件分配一塊記憶體並給它取上名字,這個名字就是我們經常所說的變數名或物件名。但是注意,這個名字一旦和這塊記憶體匹配起來(可以想象是這個名字嫁給了這塊空間),它們就同生共死、終身不離不棄,並且這塊記憶體的位置也不能被改變。乙個變數或物件 在一定的區域內(如函式、全域性等)只能被定義一次,如果定義多次,編譯器會提示你重複定義同乙個物件或變數。

宣告:

第一重含義:告訴編譯器,這個名字已經匹配到了一塊記憶體上。

第二重含義:告訴編譯器,我這個名字我先預定了,別的地方再也不能用它來作為變數名或者物件名。例如,我在圖書館自習室的某個位置放了一本書,表明這個位置我已經預定了,別人不允許使用這個位置,其實這個時候你本人並沒有坐在這個位置上,這種宣告最典型的例子就是函式引數的宣告,如void fun(int i,char c);

宣告與定義

我們在程式設計中,時時刻刻都用到變數的定義和變數的宣告,可有些時候我們對這個概念不是很清楚,知道它是怎麼用,但卻不知是怎麼一會事,下面我就簡單的把他們的區別介紹如下 變數的宣告有兩種情況 1 一種是需要建立儲存空間的 定義 宣告 例如 int a在宣告的時候就已經建立了儲存空間。2 另一種是不需要建...

宣告與定義

定義 所謂定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。其特點是 這個名字一旦和這塊記憶體匹配起來就不分開,並且這塊記憶體的位置也不能改變。同時乙個變數或物件在一定區域中只能被定義一次。宣告 宣告有兩重含義。第一重含義 告訴編譯...

宣告與定義

宣告是一種c 構造,它引入 或重新引入 乙個名稱到某個c 作用域 scope 中。而且,這種引入通常都包含對所引入名稱的乙個區域性分類 partial classification class c 類c的宣告 void f int p 函式f的宣告,其中p是乙個被命名的引數 extern int v...