新聞中心
c語言中參數(shù)是什么概念
函數(shù)的參數(shù)分為形參和實參兩種。
成都創(chuàng)新互聯(lián)專注于尖山企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。尖山網(wǎng)站建設(shè)公司,為尖山等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
形參出現(xiàn)在函數(shù)定義中,在整個函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實參變量也不能使用。
形參和實參的功能是作數(shù)據(jù)傳送,發(fā)生函數(shù)調(diào)用時,主調(diào)函數(shù)把實參的值傳送給被調(diào)函數(shù)的形參從而實現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
舉個例子:
定義一個函數(shù)s=f(a,b),功能是將a和b的差賦值給s,那么,a和b就是這個函數(shù)的兩個參數(shù)。
擴展資料:
C語言的參數(shù)傳遞方式
方法有3種方式:值傳遞、地址傳遞、引用傳遞
tips:
被調(diào)用函數(shù)的形參只有函數(shù)被調(diào)用時才會臨時分配存儲單元,一旦調(diào)用結(jié)束占用的內(nèi)存便會被釋放
值傳遞和地址傳遞,傳遞的都是實參的一個拷貝
C語言中實參和形參之間的數(shù)據(jù)傳遞是單向的“值傳遞”,單向傳遞,只能由實參傳給形參,反之不行
輸出格式并沒有選擇%p而是選擇了%d,因為十進(jìn)制的數(shù)看起來更直觀。
值傳遞
如果只是傳遞值的話:
#include stdio.h
//值傳遞傳值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
swap(a,b);
printf("after:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,x,y,y);
}
C語言將函數(shù)名作為參數(shù)被另外一個函數(shù)調(diào)用怎么做?
樓主已經(jīng)開始想要知道如何用函數(shù)指針了,不錯,好學(xué)生,給你個例子
#include stdio.h
int ff(int(*p)(int,int),int a,int b)//原始寫法,閱讀不便
{
return p(a,b);
}
typedef int(*Pfun)(int,int);//定義函數(shù)指針類型,同時申明了原型 返回int 兩個int形參
int f(Pfun p,int a,int b) //改進(jìn)寫法 易懂
{
return p(a,b);
}
int add(int a,int b)
{
printf("加法函數(shù)add被調(diào)用:");
return a+b;
}
int sub(int a,int b)
{
printf("減法函數(shù)sub被調(diào)用:");
return a-b;
}
void main()
{//函數(shù)指針初步應(yīng)用
int a=1,b=2;
printf(" %d+%d=%d\n",a,b,f(add,a,b));
printf(" %d-%d=%d\n",a,b,f(sub,a,b));
printf(" %d+%d=%d\n",a,b,ff(add,a,b));
printf(" %d-%d=%d\n",a,b,ff(sub,a,b));
}
///////////運行結(jié)果:
加法函數(shù)add被調(diào)用: 1+2=3
減法函數(shù)sub被調(diào)用: 1-2=-1
加法函數(shù)add被調(diào)用: 1+2=3
減法函數(shù)sub被調(diào)用: 1-2=-1
C語言 將函數(shù)名作為參數(shù)被另外一個函數(shù)調(diào)用
要將函數(shù)名作為參數(shù),需要使用函數(shù)指針。
函數(shù)指針的定義格式為
ret_type (*var_name)(arg_list);
表示返回值為ret_type,參數(shù)列表為arg_list的函數(shù)指針var_name.
如
int (*p)(int,int);
表示返回值為int,參數(shù)為兩個int型的函數(shù)指針p。
以函數(shù)指針作為形參,即可實現(xiàn)函數(shù)名作為參數(shù),由另一個函數(shù)調(diào)用。
如
void?func(int?(*a)(int))
{
int?r?=?100l;
(*a)(r);
}
即可傳入函數(shù)指針,并以r為參數(shù),調(diào)用該指針指向的函數(shù)。
計算機c語言什么是函數(shù)名
你調(diào)用一個函數(shù) 你得指定哪一個是吧 就是 你一個班的學(xué)生 你找哪一個就叫他的名字是吧
例
void set()
{
}
這個set就是函數(shù)名
網(wǎng)站名稱:c語言參數(shù)是函數(shù)名,c語言 函數(shù)的參數(shù)
分享地址:http://www.dlmjj.cn/article/dsgieds.html