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