女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

函數(shù)參數(shù)傳遞的原理

PoisonApple ? 來源:網(wǎng)絡(luò)整理 ? 2018-03-02 11:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

參數(shù)傳遞,是在程序運(yùn)行過程中,實(shí)際參數(shù)就會(huì)將參數(shù)值傳遞給相應(yīng)的形式參數(shù),然后在函數(shù)中實(shí)現(xiàn)對(duì)數(shù)據(jù)處理和返回的過程,方法有按值傳遞參數(shù),按地址傳遞參數(shù)和按數(shù)組傳遞參數(shù)。

形參:指出現(xiàn)在Sub 和Function過程形參表中的變量名、數(shù)組名,該過程在被調(diào)用前,沒有為它們分配內(nèi)存,其作用是說明自變量的類型和形態(tài)以及在過程中的作用。形參可以是除定長(zhǎng)字符串變量之外的合法變量名,也可以帶括號(hào)的數(shù)組名。

實(shí)參:實(shí)參就是在調(diào)用Sub 和Function過程時(shí),從主調(diào)過程傳遞給被調(diào)用過程的參數(shù)值。實(shí)參可以是變量名、數(shù)組名、常數(shù)或表達(dá)式。在過程調(diào)用傳遞參數(shù)時(shí),形參與實(shí)參是按位置結(jié)合的,形參表和實(shí)參表中對(duì)應(yīng)的變量名可以不必相同,但它們的數(shù)據(jù)類型、參數(shù)個(gè)數(shù)及位置必須一一對(duì)應(yīng)。

函數(shù)參數(shù)傳遞的原理

等號(hào)、函數(shù)名稱、括弧和參數(shù),是函數(shù)的四個(gè)組成部分。

函數(shù)“=SUM(1,2,3)”,1、2和3就是SUM函數(shù)的參數(shù),沒有參數(shù)1、2、3,函數(shù)SUM則無從求值。

函數(shù)“=VLOOKUP(2,A:C,3,)”,沒有參數(shù)2、A:C和3,函數(shù)VLOOKUP如何在A:C區(qū)域查找A列中是2那一行第3列的數(shù)值?

當(dāng)然,也有不需要參數(shù)的函數(shù),如“=PI()”、“=NOW()”、“TODAY()”等。

函數(shù)參數(shù)傳遞的原理

C語言中參數(shù)的傳遞方式一般存在兩種方式:一種是通過棧的形式傳遞,另一種是通過寄存器的方式傳遞的。這次,我們只是詳細(xì)描述一下第一種參數(shù)傳遞方式,另外一種方式在這里不做詳細(xì)介紹。

首先,我們看一下,下面一個(gè)簡(jiǎn)單的調(diào)用例程:

int Add (int a, int b, int c)

{

return a+b+c;

}

void main()

{

int x =0 , y = 1, z = 2;

int result = 0;

result = Add(x, y, z);

printf(“Result for x+y+z %d”, result);

}

借助以上例程,我們具體看一下,參數(shù)是如何傳遞的。首先,我們了解一個(gè)知識(shí)點(diǎn),就是“()”操作符在C語言中有很多含義,比如說,結(jié)合符、函數(shù)調(diào)用符等。那么在result = Add(x,y,z)語句中當(dāng)然為函數(shù)調(diào)用符,因此在編譯階段,遇到函數(shù)調(diào)用符后的執(zhí)行序?yàn)椋瑥淖詈笠粋€(gè)參數(shù)開始?jí)簵?,壓棧順序?yàn)閦-》y-》x, 直到將全部的參數(shù)壓到調(diào)用棧中,然后call到Add對(duì)應(yīng)的函數(shù)地址開始執(zhí)行。那么壓棧執(zhí)行完成后,棧空間,從上到下依次的順序?yàn)閤-》y-》z(因?yàn)闂5纳L(zhǎng)方向?yàn)橄蛏?,即地址低的地方,因此,x在地址最低的地方,即棧頂)。因此,在被調(diào)用函數(shù)中參數(shù)的讀取和操作也都是發(fā)生在棧中的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4379

    瀏覽量

    64836
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    二維數(shù)組作為函數(shù)參數(shù)傳遞在實(shí)際中的應(yīng)用

    由于表達(dá)式中的數(shù)組名data可以被解釋為指針,即data的類型為指向int [2]的指針類型int (*)[2],因此必須將pData聲明為與之匹配的類型,data才能作為實(shí)參傳遞
    的頭像 發(fā)表于 12-20 07:19 ?6793次閱讀

    #硬聲創(chuàng)作季 計(jì)算機(jī)基礎(chǔ):函數(shù)參數(shù)傳遞

    計(jì)算機(jī)基礎(chǔ)
    Mr_haohao
    發(fā)布于 :2022年11月03日 08:40:43

    [3.3.1]--函數(shù)參數(shù)傳遞1

    PHPPHP開發(fā)
    jf_75936199
    發(fā)布于 :2023年03月13日 10:23:51

    [3.3.2]--函數(shù)參數(shù)傳遞2

    PHPPHP開發(fā)
    jf_75936199
    發(fā)布于 :2023年03月13日 10:24:32

    函數(shù)參數(shù)傳遞(1)#程序設(shè)計(jì)基礎(chǔ)

    程序設(shè)計(jì)
    學(xué)習(xí)硬聲知識(shí)
    發(fā)布于 :2023年05月30日 13:00:32

    函數(shù)參數(shù)傳遞(2)#程序設(shè)計(jì)基礎(chǔ)

    程序設(shè)計(jì)
    學(xué)習(xí)硬聲知識(shí)
    發(fā)布于 :2023年05月30日 13:01:16

    函數(shù)參數(shù)傳遞#Python

    程序函數(shù)python
    未來加油dz
    發(fā)布于 :2023年08月26日 23:41:38

     函數(shù)參數(shù)傳遞(1)#Python

    程序語言代碼python
    未來加油dz
    發(fā)布于 :2023年08月30日 19:12:53

     函數(shù)參數(shù)傳遞(2)#Python

    程序語言代碼python
    未來加油dz
    發(fā)布于 :2023年08月30日 19:13:56

    keil 變量xdata函數(shù)參數(shù)傳遞

    char a).當(dāng)aa作為參數(shù)傳到函數(shù)bb,用a來接收的時(shí)候,區(qū)域進(jìn)行了改變,區(qū)域不同,是否會(huì)出現(xiàn)問題?函數(shù)bb里面,用的也是unsigned char xdata b來接收a的值。從存儲(chǔ)空間里面來看,從
    發(fā)表于 03-03 10:34

    怎么將函數(shù)參數(shù)傳遞給內(nèi)聯(lián)ASM

    這是怎么做到的?常規(guī)的asm指令編譯文件,但我從來沒有實(shí)現(xiàn)對(duì)函數(shù)外部聲明的函數(shù)參數(shù)或變量的訪問。我已經(jīng)研究了一段時(shí)間,但我不是很清楚。什么是正確的合成函數(shù)?當(dāng)做
    發(fā)表于 09-29 09:22

    為什么調(diào)用C的函數(shù)參數(shù)傳遞的往往是傳值?

    ; swap(x,y); printf("%d,%d\n",x,y);}用這個(gè)swap函數(shù),并不能將x,y的值對(duì)換,因?yàn)?b class='flag-5'>函數(shù)是值傳遞,請(qǐng)大家?guī)兔υ趺蠢斫膺@個(gè)程序,打不開思路了。
    發(fā)表于 11-08 04:35

    函數(shù)參數(shù)傳遞出現(xiàn)錯(cuò)誤

    定義一個(gè)函數(shù) void test(IDINT8U TpmNum, IDINT8U ChVal, IDINT16U ChalNum);并在程序中進(jìn)行調(diào)用。結(jié)果通過設(shè)置斷點(diǎn)看到最后一個(gè)參數(shù)的值總是傳遞
    發(fā)表于 04-16 21:51

    函數(shù)參數(shù)傳遞總是出錯(cuò)怎么辦

    函數(shù)參數(shù)傳遞總是出錯(cuò),怎么辦啊??可能會(huì)是什么原因?
    發(fā)表于 07-19 08:00

    單片機(jī)的本質(zhì)函數(shù)參數(shù)傳遞詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是單片機(jī)的本質(zhì)函數(shù)參數(shù)傳遞詳細(xì)資料說明。
    發(fā)表于 07-16 17:39 ?1次下載
    單片機(jī)的本質(zhì)<b class='flag-5'>函數(shù)</b><b class='flag-5'>參數(shù)</b><b class='flag-5'>傳遞</b>詳細(xì)資料說明