或者通過(guò)參數(shù)傳進(jìn)去,如

專(zhuān)注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)前鋒免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
void Init(stu_handlertus *hdl)
{
hdl-count = 1;
for(i = 0; i 50; ++i)
{
hdl-rtus[i].rtuindex = 0
hdl-rtus[i].a = 0;
hdl-rtus[i].b = 0;
hdl-rtus[i].c = 0;
}
}
調(diào)用
Init( handlertus);
即可。
不過(guò)結(jié)構(gòu):
struct stu_handlertus
{
int count;
struct stu_handlertus rtus[50];
}handlertus;
是錯(cuò)誤的,原因是這一句
struct stu_handlertus rtus[50];
這樣就不知道結(jié)構(gòu)stu_handlertus的大小了。所以上面改為
struct stu_handlertu rtus[50];
兩個(gè)結(jié)構(gòu)名字這么接近,是一個(gè)不好的風(fēng)格。
1、通過(guò)函數(shù)的參數(shù)顯示傳遞:
a(int
a)
{
a
=
a+2;
}
b(void)
{
int
b
=
3;
a(b);
}
在函數(shù)a中a作為一個(gè)參數(shù)傳入函數(shù)中進(jìn)行運(yùn)算,那么a就可以算作是a的輸入,然后在程序內(nèi)部a進(jìn)行了運(yùn)算后值變了,那么運(yùn)算后的a又算作是a函數(shù)的輸出。
2、通過(guò)全局變量隱式傳遞:
全局變量你應(yīng)該知道吧,簡(jiǎn)單點(diǎn)說(shuō)就是作用域涵蓋整個(gè)程序的變量(當(dāng)然要看具體情況)。
假設(shè)a為int型全局變量,初始值為1:int
a
=
1;
a()
{
a
=
a
+
2;
}
b()
{
a
=
a
+
3;
}
main()
{
a();
b();
a();
}
通過(guò)main函數(shù)我們可以看到,程序首先執(zhí)行的是函數(shù)a,那么執(zhí)行完函數(shù)a后全局變量a的值由初始值1變成了3,然后又繼續(xù)執(zhí)行函數(shù)b,注意此時(shí)函數(shù)b也是對(duì)a進(jìn)行運(yùn)算,那么此時(shí)全局變量a成了b的輸入,運(yùn)算后a的值為了6,此時(shí)a為b的輸出。那么也就是說(shuō)全局變量a在經(jīng)過(guò)a函數(shù)的改變后作為一個(gè)輸入隱式的傳入了b函數(shù),然后經(jīng)過(guò)b函數(shù)的運(yùn)算又算作是b的輸出。執(zhí)行過(guò)b函數(shù)后程序又遇到了a函數(shù),那么此時(shí)經(jīng)過(guò)b函數(shù)運(yùn)算的a又作為a函數(shù)的一個(gè)輸入了。
通過(guò)C語(yǔ)言撰寫(xiě)程序,最經(jīng)典的函數(shù)是static。
在C語(yǔ)言中,static的作用有三條:一是隱藏功能,二是保持持久性功能,三是默認(rèn)初始化為0。
在C語(yǔ)言中,static的字面意思很容易把我們導(dǎo)入歧途,其實(shí)它的作用有三條,分別是:一是隱藏功能,對(duì)于static修飾的函數(shù)和全局變量而言。二是保持持久性功能,對(duì)于static修飾的局部變量而言。三是因?yàn)榇娣旁陟o態(tài)區(qū),全局和局部的static修飾的變量,都默認(rèn)初始化為0。
如果加了static,就會(huì)對(duì)其它源文件隱藏。例如在a和msg的定義前加上static,main.c就看不到它們了。利用這一特性可以在不同的文件中定義同名函數(shù)和同名變量,而不必?fù)?dān)心命名沖突。
Static可以用作函數(shù)和變量的前綴,對(duì)于函數(shù)來(lái)講,static的作用僅限于隱藏。
void InitStack(SqStack *S)
{
int i;
for(i=0;iN;i++)
S-base[i]=0;
S-top=0;
}
C中函數(shù)參數(shù)是按值傳遞,你那樣寫(xiě)修改的是復(fù)制的副本,本身沒(méi)有修改,傳遞指針,間接修改。
其他的函數(shù)也一樣,都需要傳遞指針。
可以這樣調(diào)用。
int b=0指的是默認(rèn)參數(shù),調(diào)用時(shí)傳入或不傳入b都行,如果不傳入b的話(huà),那么b的值就是0。
另外注意只有最后面的參數(shù)可以是默認(rèn)參數(shù)。
#includeiostream
#includestring
using std::cout;
using std::string;
class A{
string a;
public:
A(string ab="1wggg"){a=ab;}
string geta(){return a;}
};
void main()
{
A b;
coutb.geta();
}
當(dāng)前名稱(chēng):函數(shù)參數(shù)初始化c語(yǔ)言 c語(yǔ)言函數(shù)參數(shù)定義
網(wǎng)頁(yè)URL:http://chinadenli.net/article36/hgpopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站改版、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、微信小程序、靜態(tài)網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)