❶ c語言中,什麼是形參和實參最好能舉個例子!
形參和實參其實沒有實質區別,都是值傳遞。
形式上你可以發現實參是可以在其他函數裡面修改的~
形參和實參最大的區別就是形參能夠雖然也能夠進行值得修改,但是只能夠在函數內部,而實參是可以在全局范圍內修改變數的值~這里需要提的是C語言有全局和局部的概念~形參就是僅僅的值傳遞,而當你的值傳遞到函數內部的時候,這個時候函數內修改的參數的地址已經不是主函數的變數地址了~也就是是說函數內對數值的任何修改都對主函數的變數沒有任何影響
與之相對的實參,一般是通過指針的形式,它雖然也是傳遞值,但是這個值是地址,所以呢,你可以發現,地址傳過去了,那麼就可以像一根指針一樣遠程操縱者主函數內部的變數。
下面這個例子我都寫好了,記住是VisualStudioC++的運行環境啊~別用TC了~
#include<stdio.h>
int main()
{
void max1(int *a,int *b);//實參例子
void max2(int c,int d);//形參例子
int *x,*y;
int e,f;char k;
printf("請輸入兩個數字,格式為:」數字,數字「(不包括引號)");
scanf("%d,%d",&e,&f);
printf("請輸入你要演示的例子:\n 1.實參例子 \n 2.形參例子");
getchar(k);
switch(k)
{
case'1':{
x=&e;y=&f;max1(x,y);printf("這是在主函數輸出的數據:e=%d,f=%d",&e,&f);
}
case'2':{max2(e,f);
printf("這是在主函數輸出的數據:e=%d,f=%d",&e,&f);}
default:printf("error\n");
}
return 1;
}
void max1(int *a,int *b);//實參例子
{
int c;
if(*a>*b)
{
c=*a;*a=*b;*b=c;
}
printf("這是在max1函數輸出的數據:e=%d,f=%d",a,b);
}
void max2(int c,int d);//形參例子
{
int g;
if(c>d)
{
g=c;c=d;d=g;
}
printf("這是在max2函數輸出的數據:e=%d,f=%d",a,b);
}
❷ C語言言中什麼叫形參,什麼叫實參怎樣用法
寫在方法聲明(或者定義)上的參數名稱就是形參
在調用這個方法的時候,實際傳給它的參數就是實參
比如:
int Add( int a, int b) {} // a,b是形參
int sum = Add(1,3); // 1,3是實參
❸ c語言中的實參與形參
在定義函數時函數名後面括弧中的變數名稱為形參;在主調函數中調用一個函數時,函數名後面括弧中的參數稱為實參
函數point(char *p) {p+=3;} 定義時,這里的p就是形參,起傳遞參數的作用,沒有具體值,但是它不能改變主程序中的p(形參和實參是兩個相對應的變數,佔有兩個不同的存儲空間,形參的值改變並不影響實參的值,兩個是相互獨立的。要想改形參里的值,必須採用傳地址,即:將實參的地址傳給形參,使形參和實參指向同一個值,這樣改變形參,就等於改變了實參正如:
#include<stdio.h>
void point(char*& p) {p+=3;}
void main()
{
char b[4]={'a','b','c','d'}, *p=b;
point(p);
printf("%c\n", *p);
}
)
❹ C語言形參和實參
例如:你自己定義一個函數 int max(int a,int b){... }
在這里a,b就是形參,接下來你會調用max函數,如:
void main()
{
int c,int d;
.....
max(c,d);
}
這里c d就是實參
所謂形參就是在函數定義體中的參數,實參就是在調用函數時實際傳進函數的參數
❺ C語言數組做形參定義語法
a如果是函數是可以的,x[]表示數組x的地址,int x[]等價於int *x
❻ C語言形式參數和實在參數
形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數不能使用。
形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。而實參在主調函數中已分配內存單元。
實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,都必須具有確定的值,以便把這些值傳送給形參。
實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配」的錯誤。
函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。
❼ C語言中什麼是形參,什麼是實參
形參:全稱為「形式參數」是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
實參:全稱為"實際參數"是在調用時傳遞給函數的參數,即傳遞給被調用函數的值。
實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
(7)c語言形參的基礎語法擴展閱讀:
形參和實參的特點:
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
參考資料來源:網路-形參
參考資料來源:網路-實參
❽ C語言中什麼是形參,什麼是實參
形參:全稱為「形式參數」是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
實參:全稱為"實際參數"是在調用時傳遞給函數的參數,即傳遞給被調用函數的值。
實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
(8)c語言形參的基礎語法擴展閱讀:
形參和實參的特點:
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
參考資料來源:網路-形參
參考資料來源:網路-實參
❾ C語言形參是什麼
形參全稱形式參數,位置是寫在函數定義時函數名後面的括弧中,比如
int max(int x, int y)
{函數內容}
這個函數,形參就是函數名max後面括弧里定義的x和y
而實參全稱實際參數,是你在這個函數之外調用該函數的時候,函數名後的括弧中的內容
比如
main()
{
int a=3,b=4;
int c=max(a,b);
}
在int c=max(a,b)這一行可以看到,實參就是max括弧後的a和b
❿ 怎樣定義C語言函數中的參數(實參、形參)
不知道函數調用原理的話,很難說得清楚的。粗略的說在C中函數其實是分成三個部分,分別是聲明、實現和使用。聲明就是告訴C有這么個函數,實現就是這個函數的完整代碼,使用則是調用這個函數幫你做運算或者是做事情。為了讓函數能做更多的事情,就需要一種方法能向函數傳遞性息,最可靠、最方便的方法就是參數傳遞,C就是這樣做的。參數傳遞也不是簡單的一件事情,首先在調用者和被調用者之間得有個約定,大家約定好了參數放什麼地方,如何使用,這個就稱為調用約定。現在我們回過頭來看什麼叫實參和形參。由上面的敘述可以看到,函數其實有一定的獨立性的,參數是在調用約定下放在指定地方供函數使用的,在我們實現函數的時候,實際的參數是什麼我們還不知道,但我們知道有多少參數,分別是什麼數據類型的和放在什麼地方(順序),這個是由調用約定來保證的。我們知道的這些就是形式的或者說是邏輯的,我們在實現函數(編寫函數體)的時候需要給他們命名,以便使用,這些在函數實現的時候命名的形式上的參數就是形式參數,簡稱形參。而在實際調用發生的時候,調用者會將實際的參數放在約定好了的地方,這個實際參數簡稱實參。函數被運行的時候實參和形參形成了一一對應,對形參的操作就變成了對實參的操作。
對調用約定還有需要說明的就是,現在常用的調用約定都是傳值的,也就是說只是傳遞了一個副本,這樣做的結果就是你對形參的操作不會被傳遞出來。
是否可以解決您的問題?