1. 程式人生 > 其它 >C專題:函式

C專題:函式

技術標籤:C

這裡寫目錄標題

建立並使用函式

一個函式的例子

#include<stdio.h>
#define NAME "GIGATHINK, INC."
#define ADDRESS "101 Megabuck Plaza"
#define PLACE "Megapolis, CA 94904"
#define WIDTH 40

void starbar(void);//宣告函式
					//這個函式的作用是列印(*)這個符號
int main(void) { starbar();//呼叫函式 printf("%s\n",NAME); printf("%s\n",ADDRESS); printf("%s\n",PLACE); starbar();//呼叫函式 return 0; } void starbar(void) { int count; for(count=1;count<=WIDTH;count++) putchar('*'); putchar('\n'); }

執行結果

在這裡插入圖片描述

函式的結構

實際引數 函式名(形式引數)

void starbar(void)

int main(void)也是一個函式,他是主函式。
C語言程式先讀取主函式,其他函式在主函式中被呼叫。

實際引數(實參)

實參代表的是函式的返回值型別。
對於主函式main來說,通常返回值為int型別。

#include<stdio.h>
int main(void)
{
	...
	
	return 0;
}

也就是最後的return 0;0為int型別。
對於上文的starbar函式來說,返回值是void型別,也就是沒有返回值。

void starbar(void)
{
	...
}

當然你可以返回double型別,char型別,指標型別等。

使用返回值

#include<stdio.h>
int fanhui(void);
int main(void)
{
	...
	n=fanhui();//返回的a的值給了n
	return 0;
}
int fanhui(void)
{
	...
	return a;//這裡的a必須是int型別
}

形式引數(形參)

形參的作用是傳遞資料到函式中。
對於主函式來說,形參是void(當然main的形參可以不是void,他有自己的形參,具體我也不清楚,所以在此不做討論)。
對於上文的starbar函式來說,形參是void,所以他不從主函式中傳遞引數。

使用形參

#include<stdio.h>
int xingcan(int m,double n,char b...int*d);//可以有一個,也可以傳遞多個
int main(void)
{
	int i;
	double j;
	char c;
	...
	int*a;
	
	...
	n=int xingcan(i,j,c...a);//括號裡的變數的型別要與形參定義的型別一一對應。
	return 0;
}
int xingcan(int m,double n,char b...int*d)
{
//在這個函式中m的值與原函式的i相等,n的值與原函式的j相等,以此類推。
//以後學了C語言的儲存類別,儲存管理就會知道
//在這個函式中對m,n,b...的操作不會影響主函式中i,j,b...的值。
//但指標例外,因為指標傳遞的是一個地址,在函式中操作地址所指向的值(即*d)
//就會改變主函式中傳送的*a的值,因為*a和*d指向同一個地址。
	...
	return a;//這裡的a必須是int型別
}