程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言基礎教程(五)函數(2)

C語言基礎教程(五)函數(2)

編輯:關於C語言

1.函數的說明與定義
Turbo C2.0中所有函數與變量一樣在使用之前必須說明。所謂說明是指說明函數是什麼類型的函數,一般庫函數的說明都包含在相應的頭文件<*.h>中,例如標准輸入輸出函數包含在stdio.h中,非標准輸入輸出函數包含在io.h中,以後在使用庫函數時必須先知道該函數包含在什麼樣的頭文件中,在程序的開頭用#include <*.h>或#include"*.h"說明。只有這樣程序在編譯,連接時Turbo C才知道它是提供的庫函數,否則,將認為是用戶自己編寫的函數而不能裝配。
1.1 函數說明
1. 經典方式
其形式為: 函數類型 函數名();
2. ANSI 規定方式
其形式為: 函數類型 函數名(數據類型 形式參數, 數據類型 形式
參數, ......);
其中:函數類型是該函數返回值的數據類型,可以是以前介紹的整型(int),長整型(long),字符型(char),單浮點型(float),雙浮點型(double)以及無值型(void),也可以是指針,包括結構指針。無值型表示函數沒有返回值。
函數名為Turbo C2.0的標識符,小括號中的內容為該函數的形式參數說明。可以只有數據類型而沒有形式參數,也可以兩者都有。對於經典的函數說明沒有參數信息。如:
int putlll(int x,int y,int z,int color,char *p)/*說明一個整型函數*/
char *name(void); /*說明一個字符串指什函數*/
void student(int n, char *str); /*說明一個不返回值的函數*/
float calculate(); /*說明一個浮點型函數*/
注意:如果一個函數沒有說明就被調用,編譯程序並不認為出錯,而將此函數默認為整型(int)函數。因此當一個函數返回其它類型,又沒有事先說明,編譯時將會出錯。
1.2 函數定義

函數定義就是確定該函數完成什麼功能以及怎麼運行,相當於其它語言的一個子程序。Turbo C2.0對函數的定義采用ANSI規定的方式。即:
函數類型 函數名(數據類型形式參數; 數據類型 形式參數...)
{
函數體;
}
其中函數類型和形式參數的數據類型為Turbo C2.0的基本數據類型。函數體為Turbo C2.0提供的庫函數和語句以及其它用戶自定義函數調用語句的組合,並包括在一對花括號"{"和"}"中。
需要指出的是一個程序必須有一個主函數,其它用戶定義的子函數可以是任意多個,這些函數的位置也沒有什麼限制,可以在main()函數前,也可以在其後。Turbo C2.0將所有函數都被認為是全局性的。而且是外部的,即可以被另一個文件中的任何一個函數調用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved