c/c++中變量的聲明和定義深入解析
更新時間:2013年09月26日 09:02:12 作者:
“聲明”為編譯服務,用于類型檢查 ;“定義”在運行時會分配空間,不能重復定義,同時具備聲明的功能
不管是函數(shù)還是變量的聲明 ,都是為了告訴編譯器我要使用這個變量或者函數(shù)了,用于類型檢查。在定義 的時候編譯器是不會分配任何內(nèi)存的,
比如下面的函數(shù):
復制代碼 代碼如下:
void func() {
int a ;
int b = 0 ;
a = 0 ;
}
當函數(shù)執(zhí)行到int a ;的時候,這是一個聲明,編譯器不會為其分配內(nèi)存空間 。當執(zhí)行到a = 0; 這是一個定義,編譯器才會為其分配內(nèi)存空間。因此聲明不一定是定義,定義一定就是定義,還可以包含聲明。但是下面的這種肯定只是聲明:
extern int a ;
因此:
“聲明”為編譯服務,用于類型檢查 ;
“定義”在運行時會分配空間,不能重復定義,同時具備聲明的功能。
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)之棧與隊列的相互實現(xiàn)
這篇文章主要為大家詳細介紹了如何利用C語言相互實現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的棧與隊列,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-07-07c語言中malloc、realloc與calloc 的區(qū)別以及聯(lián)系
以下是對c語言中的malloc函數(shù),realloc函數(shù)與calloc函數(shù)的區(qū)別以及它們之間的聯(lián)系進行了介紹,需要的朋友可以過來參考下2013-08-08