1.结构的声明
创新互联专注于企业成都全网营销推广、网站重做改版、南澳网站定制设计、自适应品牌网站建设、H5建站、购物商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南澳等各大城市提供网站开发制作服务。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元起,快前往官网查看详情吧