呃···
創(chuàng)新互聯(lián)公司專注于威縣網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供威縣營銷型網(wǎng)站建設(shè),威縣網(wǎng)站制作、威縣網(wǎng)頁設(shè)計、威縣網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造威縣網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供威縣網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
看書會比較明白吧···
1、函數(shù)聲明: 返回類型 函數(shù)名(形參1,形參2,形參3);(以此類推,有幾個參數(shù)寫幾個)
2、函數(shù)調(diào)用:函數(shù)名 (實參1,實參2,實參3); (以此類推,有幾個參數(shù)寫幾個)
3、函數(shù)算法:返回類型 函數(shù)名(形參1,形參2,形參3)(以此類推,有幾個參數(shù)寫幾個)
{
}
如果你在main()前定義函數(shù)的話,就不需要也不能聲明函數(shù)了,如果在main()后定義函數(shù)需要在main前聲明函數(shù).
#includestdio.h
int myfunction(int t);//聲明函數(shù)
int main() {
int t=3;
myfunction(t);//調(diào)用函數(shù).
return 0;
}
int myfunction(int t) {
int v = t ;
printf("%d\n", v);
}
#includestdio.h
int myfunction(int t) { //在main()前定義函數(shù)不需要聲明
int v = t ;
printf("%d\n", v);
}
int main() {
int t=3;
myfunction(t);
return 0;
}
每一個函數(shù)調(diào)用都會分配函數(shù)棧,在棧內(nèi)進行函數(shù)執(zhí)行過程。調(diào)用前,先把返回地址壓棧,然后把當(dāng)前函數(shù)的esp指針壓棧。
例子代碼如下所示:
int Add(int x, int y) { ? ?int sum;
sum = x + y; ? ?return sum;
}void main() { ? ?int z;
z = Add(1, 2); ? ?printf("z=%d\n", z);
}
下面分析一下 Add函數(shù)的調(diào)用過程。
首先斷點在z = Add(1, 2);處, 反匯編如下所示:
int z;
z = Add(1, 2);002C141E 6A 02 ? ? ? ? ? ? ? ?push ? ? ? ?2 ?002C1420 6A 01 ? ? ? ? ? ? ? ?push ? ? ? ?1 ?002C1422 E8 60 FC FF FF ? ? ? call ? ? ? ?002C1087 ?
002C1427 83 C4 08 ? ? ? ? ? ? add ? ? ? ? esp,8 ?002C142A 89 45 F8 ? ? ? ? ? ? mov ? ? ? ? dword ptr [ebp-8],eax
首先壓入?yún)?shù)1和2:
002C141E 6A 02 ? ? ? ? ? ? ? ?push ? ? ? ?2 ?002C1420 6A 01 ? ? ? ? ? ? ? ?push ? ? ? ?1 ?
通過觀察ESP可以看到參數(shù)從右到左依次入棧,ESP往低內(nèi)存方向移動8字節(jié):
ESP=0025FCCC
...0x0025FCAA ?00 00 78 4c 33 00 bc fc 25 00 a9 fe aa 0f 78 4c 33 00 c8 fc 25 00 3d 5a b2 0f *** 01 00 00 00 02 00 00 00 ***0x0025FCCC ?00 00 00 00
文章題目:怎樣調(diào)用函數(shù)c語言 怎樣調(diào)用函數(shù)c語言輸入
轉(zhuǎn)載來源:http://muchs.cn/article4/doeidie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、、網(wǎng)站建設(shè)、App設(shè)計、靜態(tài)網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)