c語言函數可以返回結構體,操作方法如下:
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網頁空間、營銷軟件、網站建設、長順網站維護、網站推廣。
1、首先在電腦中打開visual studio新建項目,給這個結構體取個名字叫student。
2、然后添加變量,如下圖所示。
3、然后給結構體類型指針p申請堆空間,如下圖所示。
4、接著使用for循環給結構體賦值,如下圖所示。
5、最后在通過for循環打印輸出,這樣就完成就結構體的基本創建,結尾不要忘了使用free(p):釋放申請的堆空間。
STU??f?(STU??a)
{ ?STU??b={"Zhao",?'m',?85,?90};
int??i;
strcpy(?a.name,?b.name?);
a.sex?=?b.sex;
for?(?i=0;?i2;?i++?)??a.score[i]?=?b.score[i];
以上是將b中的數據賦值給a,相當于a=b;這樣的一個操作
return??a;?
}
main()
{ ?STU??c=?{?"Qian",?'f',?95,?92?},?d;
d?=?f(c);//這里傳的c是個復制品(傳遞的不是結構體指針),所以c不會變,d接收f()函數的返回值,因為返回值的內容是f()中的b的值,所以,d與c不同
printf?("%s,%c,%d,%d,?",?d.name,?d.sex,?d.score[0],?d.score[1]);
printf?("%s,%c,%d,%d\n",?c.name,?c.sex,?c.score[0],?c.score[1]);
}
輸出結果為:A)??Zhao,m,85,90,?Qian,f,95,92
void f(A c) /* 注意:c結構變量名 但這個c也是個復制品,與原實參只是一樣的內容,卻不是同一個!! */ 所以結果還是a={1,2}; 答案為B
文章題目:c語言的結構體函數 c語言結構體構造函數
網頁網址:http://vcdvsql.cn/article34/ddijspe.html
成都網站建設公司_創新互聯,為您提供手機網站建設、外貿網站建設、小程序開發、商城網站、用戶體驗、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯