1.結構的聲明

struct tag
{
? member_list;
}variable_list;
例:
struct Stu
{
? char name;
? int age;
? char sex[8];
? float score;
}s1,s2,s3;
a、s1、s2、s3是通過結構體Stu創建出來的變量。
b、typedef struct Stu Stu;將結構體重命名為Stu;?
2.結構體的傳參
例:
struct S
{
int data[1000];
int num;
};
struct S s = {{1,2,3,4}, 1000};
//結構體傳參
void print1(struct S s)
{
printf("%d\n", s.num);
}
//結構體地址傳參
void print2(struct S* ps)
{
printf("%d\n", ps->num);
}
int main()
{
print1(s); ?//傳結構體
print2(&s); //傳地址
return 0;
}以上兩個函數print1和print2中,應該選print2;
因為函數傳參的時候,參數是需要壓棧的。 如果傳遞一個結構體對象的時候,結構體過大,參數壓棧的系統開銷比較大,所以會導致性能的下降。
所以在結構體傳參時,應該傳遞結構體的地址。
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
網頁名稱:【C語言初階】七、結構體初識-創新互聯
文章起源:http://www.yijiale78.com/article18/docogp.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、標簽優化、網站設計公司、面包屑導航、營銷型網站建設、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯