新聞中心
C語言結(jié)構(gòu)體類型函數(shù)
void f(A c) /* 注意:c結(jié)構(gòu)變量名 但這個c也是個復(fù)制品,與原實參只是一樣的內(nèi)容,卻不是同一個!! */ 所以結(jié)果還是a={1,2}; 答案為B
創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、微信小程序、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十余年以來,已經(jīng)為上千多家成都戶外休閑椅各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上千多家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
C語言結(jié)構(gòu)體函數(shù)
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中的數(shù)據(jù)賦值給a,相當于a=b;這樣的一個操作
return??a;?
}
main()
{ ?STU??c=?{?"Qian",?'f',?95,?92?},?d;
d?=?f(c);//這里傳的c是個復(fù)制品(傳遞的不是結(jié)構(gòu)體指針),所以c不會變,d接收f()函數(shù)的返回值,因為返回值的內(nèi)容是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]);
}
輸出結(jié)果為:A)??Zhao,m,85,90,?Qian,f,95,92
c語言結(jié)構(gòu)體怎么用函數(shù)實現(xiàn)?
#?includestdio.h
#?includemalloc.h
struct?stu????//結(jié)構(gòu)體
{
int?age;
float?score;
char?name[100];
};
void?shuru?(int?len,?stu?*?pArr)??
{
int?i;
for(i?=?0;?ilen;?i++)
{
printf("請輸入第%d個學(xué)生的信息\n",i+1);
printf("name?=?");
scanf("%s",pArr[i].name);
printf("age?=?");
scanf("%d",?pArr[i].age);
printf("score?=?");
scanf("%f",?pArr[i].score);
}
return;
}?
int?main(void)
{
int?len?,i;
struct?stu?*?pArr,t;
printf("請輸入學(xué)生的個數(shù):\n");
printf("人數(shù)=?");
scanf("%d",len);
pArr?=?(struct?stu?*)malloc(len?*?sizeof(struct?stu));??
shuru(len,?pArr);
for(i=0;?ilen;?i++)
{
if(pArr[i].score??pArr[i+1].score)
{
t?=?pArr[i+1];
pArr[i+1]?=?pArr[i];
pArr[i]?=?t;
}
}
i?=0;
printf("\n\n排序后的學(xué)生信息為\n\n");
for(i=0;?ilen;?i++)
{
printf("name?=?%s\n",pArr[i].name);
printf("age?=?%d\n",pArr[i].age);
printf("score?=?%f\n",pArr[i].score);
printf("\n\n");
}
return?0;
}
這樣就行了,你的排序還沒實現(xiàn), 仿照輸入的函數(shù)實現(xiàn)就OK
網(wǎng)站名稱:c語言結(jié)構(gòu)體函數(shù)實例 c語言結(jié)構(gòu)體在函數(shù)中使用
本文地址:http://biofuelwatch.net/article/doeccdd.html