什么是函數(shù)?
我們之前說(shuō)過(guò), #include , 就像是一個(gè)"工具箱",而工具箱中的"工具",就是函數(shù),也就是程序的模塊化。
比如說(shuō):printf 就是其中的一個(gè)函數(shù),功能是輸出。
C語(yǔ)言中的函數(shù),除了其本身提供的大量的庫(kù)函數(shù)之外,我們也可以自己定義函數(shù)。
也就是根據(jù)自己的需要,打造自己需要的工具。
定義函數(shù)的一般格式
返回值類型 函數(shù)名(參數(shù)類型 參數(shù)1,參數(shù)類型 參數(shù)2......)
{
函數(shù)內(nèi)代碼;
return 返回值; //若無(wú)返回值,不寫(xiě)這一句
}
- 返回值類型:指這個(gè)函數(shù)最后得出結(jié)果后,返回給主函數(shù)的值是什么類型。
- 例如:int 類型。 當(dāng)然,也可以不設(shè)置返回值,返回為空,也就是void
- 函數(shù)名:指這個(gè)函數(shù)的名字,由你自己起名。
- 參數(shù):指執(zhí)行這個(gè)函數(shù),所需要傳入的數(shù)據(jù)。
- 參數(shù)類型:指?jìng)魅雲(yún)?shù)的類型,如 int 型。
自定義函數(shù),例1:A+B
我們寫(xiě)一個(gè)函數(shù),功能是計(jì)算兩個(gè)數(shù)的和,函數(shù)返回值是兩個(gè)數(shù)的和。
就是下面這樣
int Add(int a,int b)
{
return a+b;
}
- a 和 b 就是參數(shù),它的值是你在調(diào)用函數(shù)時(shí)輸入的值。
- return 就是返回的意思,返回值是 a+b,也就是兩數(shù)之和。
調(diào)用函數(shù)
也就是使用我們定義出來(lái)的函數(shù),就用我們剛剛定義的函數(shù)來(lái)說(shuō)明:
#include
int Add(int a,int b)
{
return a+b;
}
int main()
{
int c;
c=Add(3,6);
printf("%d",c);
return 0;
}
程序的輸出結(jié)果:
9
我們?cè)谥骱瘮?shù)內(nèi)調(diào)用函數(shù)時(shí),格式是:
函數(shù)名(參數(shù)1,參數(shù)2...)
- 在調(diào)用函數(shù)時(shí),不需要像定義函數(shù)時(shí)一樣,寫(xiě)出參數(shù)的類型,但需要保證參數(shù)的位置相互對(duì)應(yīng)。
- Add(3,6) ,3 對(duì)應(yīng)的就是函數(shù)中的 a,6 對(duì)應(yīng)的就是函數(shù)中的 b。 可以理解為給 a 賦值為 3,給 b 賦值為 6。 這個(gè)過(guò)程我們叫 "傳參"。
- 在函數(shù)中,我們定義了一個(gè) int 型的數(shù)據(jù) c ,用來(lái)儲(chǔ)存函數(shù)返回的值,也就是兩數(shù)相加的和。
- 用單等號(hào) = ,也就是賦值符,將函數(shù)的返回值賦值給了參數(shù) c 。
- 最后,我們使用庫(kù)函數(shù) printf 輸出 c ,也就是輸出了兩數(shù)之和。
我們?cè)侔殉绦蚋倪M(jìn)一下,讓計(jì)算的數(shù)據(jù)由 “黑色窗口” 輸入。
#include
int Add(int a,int b)
{
return a+b;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=Add(a,b);
printf("%d",c);
return 0;
}
- 這里我們需要注意的一點(diǎn),函數(shù)中的參數(shù)名,跟主函數(shù)中的參數(shù)名是互不影響的,它們雖然名字相同,都是a和b,但卻獨(dú)立工作。 我們稱這樣的變量為"局部變量"。
-
C語(yǔ)言
+關(guān)注
關(guān)注
183文章
7644瀏覽量
145603 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67517 -
Printf
+關(guān)注
關(guān)注
0文章
84瀏覽量
14735 -
調(diào)用函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
2483
發(fā)布評(píng)論請(qǐng)先 登錄
函數(shù)指針和指針函數(shù)的概念
什么是HOOK函數(shù)?HOOK函數(shù)的用途和用法
階躍函數(shù)和沖激函數(shù)
類成員函數(shù)與普通函數(shù)的區(qū)別研究
c語(yǔ)言函數(shù)指針定義,指針函數(shù)和函數(shù)指針的區(qū)別
內(nèi)聯(lián)函數(shù)和外聯(lián)函數(shù)有什么區(qū)別
基于plateaued函數(shù)的平衡布爾函數(shù)構(gòu)造
標(biāo)準(zhǔn)函數(shù)是什么_標(biāo)準(zhǔn)函數(shù)有哪些
C語(yǔ)言函數(shù)的回調(diào)函數(shù)
C語(yǔ)言-內(nèi)聯(lián)函數(shù)、遞歸函數(shù)、指針函數(shù)
復(fù)變函數(shù)的共軛和原函數(shù)的關(guān)系
函數(shù)類型和函數(shù)指針類型的區(qū)別
函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實(shí)例
什么是函數(shù)?
評(píng)論