如果不做檢查,在運行時才發(fā)現實參與形參的類型或個數不一致,則出現運行錯誤。在運行階段發(fā)現錯誤并調試,比較麻煩,工作量比較大。所以盡可能不要。 聲明的作用是把函數的名字、函數類型以及形參的類型、個數和順序通知編譯系統,以便在調用該函數時系統按此進行對照檢查。 函數的定義是指對函數的功能的確立,包括指定函數名、函數值類型、形參及其類型、函數體等,它是一個完整的獨立的函數單位。 int max(int x,int y){int z;z=xgt;y? x:y;return(z)}這是函數的定義 這是函數的聲明。
創(chuàng)新互聯:于2013年成立為各行業(yè)開拓出企業(yè)自己的“網站建設”服務,為上千多家公司企業(yè)提供了專業(yè)的成都網站建設、成都網站設計、網頁設計和網站推廣服務, 按需策劃由設計師親自精心設計,設計的效果完全按照客戶的要求,并適當的提出合理的建議,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據客戶的實際情況給出合理的網站構架,制作客戶同行業(yè)具有領先地位的。
第一,如果你沒有看錯就是你的書錯了,只有int和char類型的函數不必聲明
第二,C中可以不聲明函數的條件是3個
1就是上面我說的
2.是被調函數定義在主調函數之前,可不必聲明
3函數的外部已聲明過了,個個主調函數中不必聲明
對于第二點,很好解釋,因為聲明的目的在于告訴編譯器有這么個自定義函數,返回類型是什么,如果被調函數定義在主調函數之前,那么編譯器自然就知道了這個函數
你把f2和f1換下位置并去掉聲明就明白了
再說一句,寫函數聲明是編寫程序的良好習慣
請注意這是C程序,C官方聲明標準編譯器是Turboc 2。0
不要把C++的概念強加給C
我不是說VC++6不好,而是說既然是在學C,就要用標準的C編譯器,只有標準C編譯器才能正確的學習C的基礎理論
可能有些不聲明也能通過,但效率極低,最好先聲明。
1、C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
2、盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業(yè)平臺。
3、二十世紀八十年代,為了避免各開發(fā)廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言最初的標準。
我也來 說幾句。。
標準編譯器 對函數的調用 都要
先申明 才能 調用
(生產的時候就這樣設定的)。。我推薦試用
大點的 vs2005,vc2000.
小點的 Dev-cpp ,Turboc 3.0 (2.0 不支持鼠標有點 麻煩)
這里 就涉及: 申明和定義之間的區(qū)別。
申明-- 不開辟內存,僅僅告訴編譯器,申明的部分存在,要預留一點空間。
定義-- 開辟內存。
申明 屬于 預編譯范疇的。最好寫在頭文件中(樓主,自定義頭文件學了沒有啊?)(申明都寫在頭文件中,只是一種好的編程習慣)
因為 在編譯的時候,編譯器先處理一些特殊數據(宏定義,函數的申明,變量的申明),在這個過程中,編譯器 通過申明 可以預測整個定義需要的內存大小,并且 把這些大小預留起來,留給定義的時候使用(因為雖然定義,但是在 main函數里面沒有調用,一樣的不分配內存)。
如果不事先申明,直接定義,有可能會造成系統崩潰,出現內存不足,不能分配。 然而現在內存都是1G左右了,所以一般空間都足夠,所以你也可以不申明直接定義函數。
但是一旦內存緊張,就會出錯,而且程序簡潔性就很低。(不看到定義,還不知道原來還定義了這么一個函數!!!)
還有 變量也一樣,標準的都是 先申明在定義。
extern int i; //申明
int i=0; //定義并初始化為0
int i; //定義
.。。。。。。。。。。。。。。。。。
所以 從現在其要養(yǎng)成良好的編程習慣
先申明,在定義。
申明最好都放在 一塊,并且都在頭文件中(為了便于管理)。
應該要聲明的吧 看你用什么編譯軟件的 有可能有些編譯軟件可以不聲明 所以一般把main函數寫在最后 這樣就不用申明了
c明確規(guī)定,不許在任何函數內做函數聲明(主函數除外)
主函數內聲明的函數,僅允許被主函數調用
分享文章:c語言沒有聲明函數嗎 c語言函數未定義
標題鏈接:http://m.kartarina.com/article38/hgjdsp.html
成都網站建設公司_創(chuàng)新互聯,為您提供關鍵詞優(yōu)化、App開發(fā)、虛擬主機、手機網站建設、面包屑導航、網站收錄
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯