1.結(jié)構(gòu)的聲明
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、南澳網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為南澳等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。struct tag
{
? member_list;
}variable_list;
例:
struct Stu
{
? char name;
? int age;
? char sex[8];
? float score;
}s1,s2,s3;
a、s1、s2、s3是通過(guò)結(jié)構(gòu)體Stu創(chuàng)建出來(lái)的變量。
b、typedef struct Stu Stu;將結(jié)構(gòu)體重命名為Stu;?
2.結(jié)構(gòu)體的傳參
例:
struct S
{
int data[1000];
int num;
};
struct S s = {{1,2,3,4}, 1000};
//結(jié)構(gòu)體傳參
void print1(struct S s)
{
printf("%d\n", s.num);
}
//結(jié)構(gòu)體地址傳參
void print2(struct S* ps)
{
printf("%d\n", ps->num);
}
int main()
{
print1(s); ?//傳結(jié)構(gòu)體
print2(&s); //傳地址
return 0;
}
以上兩個(gè)函數(shù)print1和print2中,應(yīng)該選print2;
因?yàn)楹瘮?shù)傳參的時(shí)候,參數(shù)是需要壓棧的。 如果傳遞一個(gè)結(jié)構(gòu)體對(duì)象的時(shí)候,結(jié)構(gòu)體過(guò)大,參數(shù)壓棧的系統(tǒng)開銷比較大,所以會(huì)導(dǎo)致性能的下降。
所以在結(jié)構(gòu)體傳參時(shí),應(yīng)該傳遞結(jié)構(gòu)體的地址。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧