結(jié)構(gòu)體類型作為函數(shù)類型,表示函數(shù)返回一個結(jié)構(gòu)體對象。
創(chuàng)新互聯(lián)公司長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為凱里企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都做網(wǎng)站,凱里網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
這里sum拼寫錯誤,應(yīng)該是大寫Sum。
C語言允許用戶使用 typedef 關(guān)鍵字來定義自己習(xí)慣的數(shù)據(jù)類型名稱,來替代系統(tǒng)默認的基本類型名稱、數(shù)組類型名稱、指針類型名稱與用戶自定義的結(jié)構(gòu)型名稱、共用型名稱、枚舉型名稱等。一旦用戶在程序中定義了自己的數(shù)據(jù)類型名稱,就可以在該程序中用自己的數(shù)據(jù)類型名稱來定義變量的類型、數(shù)組的類型、指針變量的類型與函數(shù)的類型等。
函數(shù)里定義的結(jié)構(gòu)體是局部變量,在這個函數(shù)外是不能使用的。
你要在函數(shù)外定義成全局變量。
例,函數(shù)外:
struct
s{
int
a;
}s1,s2;
這樣的就定義了兩個全局的結(jié)構(gòu)體s1,s2,這兩個結(jié)構(gòu)體在所有函數(shù)中都可以使用,當(dāng)然,使用它們的函數(shù)里,不能再定義相同名稱的局部變量,否則使用的就是局部變量了。
可以在外部定義結(jié)構(gòu)體類型,然后在主函數(shù)內(nèi)部定義該類型的變量。在輸入輸出函數(shù)調(diào)用時,以結(jié)構(gòu)體變量指針做為參數(shù)傳遞。
參考代碼如下:
#include?stdio.h
struct?test
{
int?a;
};//定義結(jié)構(gòu)體類型struct?test。
void?input(struct?test*?p)//輸入函數(shù),以指針作為參數(shù)。
{
scanf("%d",p-a);
}
void?output(struct?test?*p)//輸出函數(shù),以指針作為參數(shù)。這里也可以以結(jié)構(gòu)體變量作為參數(shù),不過用指針效率更高。
{
printf("%d\n",?p-a);
}
int?main()
{
struct?test?v;//定義結(jié)構(gòu)體變量v。
input(v);//輸入。
output(v);//輸出。
return?0;
}
以形參的形式放入函數(shù)體進行操作,只需要將形參和實參類型匹配就可以了。比如a[i].riqi.year是int型,那么你的函數(shù)就可以寫成void
fun(int
i)。
C語言中的結(jié)構(gòu)體可以定義一些復(fù)雜數(shù)據(jù)類型,把一些有內(nèi)在聯(lián)系的不同變量放在一起封裝成一個整體,這就是結(jié)構(gòu)體。
例如:以學(xué)生為例,學(xué)生存在學(xué)號,姓名,性別,班級等。此時你可以頂一個結(jié)構(gòu)體,將這些學(xué)生信息封裝到一個結(jié)構(gòu)體中。
code如下:
struct student{
int iID //學(xué)生的學(xué)號
char sStuName[10] //學(xué)生姓名
char sSex[10] //學(xué)生性別
....
}
擴展資料
C語言結(jié)構(gòu)體在函數(shù)中的應(yīng)用
typedefstructtagSTUDENT{
charname[20];
intage;
}STUDENT;
voidfun(STUDENTstu)
{
printf(“stu.name=%s,stu.age=%d/n”,stu.name,stu.age);
}
新聞名稱:c語言結(jié)構(gòu)體在函數(shù)中 c語言結(jié)構(gòu)體包含函數(shù)
標(biāo)題網(wǎng)址:http://jinyejixie.com/article34/dodhspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站策劃、域名注冊、品牌網(wǎng)站設(shè)計、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)