2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
C++里調(diào)用函數(shù)是否需要聲明需要注意以下兩點(diǎn):
自己實(shí)現(xiàn)的函數(shù),在調(diào)用的地方之前實(shí)現(xiàn),無須聲明,否則需要聲明。
使用系統(tǒng)提供的函數(shù),包含頭文件即可使用。
申明和定義之間的區(qū)別。 申明-- 不開辟內(nèi)存,僅僅告訴編譯器,申明的部分存在,要預(yù)留一點(diǎn)空間。 定義-- 開辟內(nèi)存。 申明 屬于 預(yù)編譯范疇的。最好寫在頭文件中(樓主,自定義頭文件學(xué)了沒有???)(申明都寫在頭文件中,只是一種好的編程習(xí)慣) 因?yàn)?在編譯的時(shí)候,編譯器先處理一些特殊數(shù)據(jù)(宏定義,函數(shù)的申明,變量的申明),在這個(gè)過程中,編譯器 通過申明 可以預(yù)測(cè)整個(gè)定義需要的內(nèi)存大小,并且 把這些大小預(yù)留起來,留給定義的時(shí)候使用(因?yàn)殡m然定義,但是在 main函數(shù)里面沒有調(diào)用,一樣的不分配內(nèi)存)。 如果不事先申明,直接定義,有可能會(huì)造成系統(tǒng)崩潰,出現(xiàn)內(nèi)存不足,不能分配。 然而現(xiàn)在內(nèi)存都是1G左右了,所以一般空間都足夠,所以你也可以不申明直接定義函數(shù)。 但是一旦內(nèi)存緊張,就會(huì)出錯(cuò),而且程序簡潔性就很低。(不看到定義,還不知道原來還定義了這么一個(gè)函數(shù)?。。。┻€有 變量也一樣,標(biāo)準(zhǔn)的都是 先申明在定義。 extern int i; //申明 int i=0; //定義并初始化為0 int i; //定義.。。。。。。。。。。。。。。。。。 所以 從現(xiàn)在其要養(yǎng)成良好的編程習(xí)慣 先申明,在定義。申明最好都放在 一塊,并且都在頭文件中(為了便于管理)。
- 2 回答
- 0 關(guān)注
- 1961 瀏覽
添加回答
舉報(bào)