形參

形參,是在定義函式名和函式體的時候使用的參數,目的是用來接收調用該函式時傳遞的參數. 函式調用結束返回主調用函式後則不能再使用該形參變數。在上面的"Main()”主 程式當中演示了實參"strArgument"的值在形參的 作用域當中因形參"strParameter"的改變而改變了。

形參和實參的關係

形參和實參的特點

1、形參 變數只有在被調用時才分配 記憶體單元,在調用結束時,即刻釋放所分配的記憶體單元。因此,形參只在 函式內部有效。 函式調用結束返回主調用函式後則不能再使用該形參變數。

2、 實參可以是 常量、變數、 表達式、函式等,無論實參是何種類型的量,在進行函式調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。

3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生 類型不匹配的錯誤。

4、在一般 傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函式調用過程中,形參值發生改變,而實參中的值不會變化。而在 引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。

形參和實參的對照實例(C語言版)

main()

{

int n;

printf("input number \n");

scanf("%d",&n);

s(n);

printf("n=%d\n",n);

}

int s(int n)

{

int i;

for(i=n-1;i>=1;i--)

n=n+i;

printf("n=%d\n",n);

}

本程式中定義了一個 函式 s,該函式的功能是求∑ni 的值。在 主函式中輸入n 值,並作為 實參,在調用時傳送給s 函式的形參量n( 注意,本例的形參 變數和實參變數的 標識符都為n,但這是兩個不同的量,各自的 作用域不同)。在主函式中用printf 語句輸出一次n 值,這個n 值是實參n 的值。在函式s 中也用printf 語句輸出了一次n 值,這個n 值是形參最後取得的n 值。從運行情況看,輸入n 值為100。即實參n 的值為100。把此值傳給函式s 時,形參n 的初值也為100,在執行函式過程中,形參n的值變為5050。返回主函式之後,輸出實參n 的值仍為100。可見實參的 傳值調用值不隨形參的變化而變化。

形參改變實參的實例(C#語言版)

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class BaseTest

{

///

///

形參

///

public void TestChange(ref string strParameter)

{

strParameter = "change value";

Console.WriteLine(strParameter);

}

}

class Program

{

static void Main(string[] args)

{

string strArgument = "default value";

Console.WriteLine(strArgumentt); // 這裡實參的值沒改變。

BaseTest sm = new BaseTest();

sm.TestChange(ref strArgumentt);

Console.WriteLine(strArgumentt); // 這裡實參的值改變。

}

}

}

輸出的值為:

default value

change value

change value

在上面的"Main()”主 程式當中演示了實參"strArgument"的值在形參的 作用域當中因形參"strParameter"的改變而改變了。

相關詞條

相關搜尋

熱門詞條

聯絡我們