1.
#include <stdio.h>
#include <stdlib.h>
struct date
{
int year;
int month;
int day;
};
void Func(struct date *p)
{
p->year=2000;
p->month= 5;
p->day = 22;
}
int main()
{
struct date d;
d.year = 1999;
d.month = 4;
d.day = 23;
printf("Before:%d/%02d/%02d\n",d.year,d.month,d.day);
Func(&d);
printf("After:%d/%02d/%02d\n",d.year,d.month,d.day);
return 0;
}
2.结构体变量做函数返回值(效率低)
#include <stdio.h>
#include <stdlib.h>
struct date
{
int year;
int month;
int day;
};
struct date Func(struct date p)
{
p.year=2000;
p.month= 5;
p.day = 22;
return p;
}
int main()
{
struct date d;
d.year = 1999;
d.month = 4;
d.day = 23;
printf("Before:%d/%02d/%02d\n",d.year,d.month,d.day);
d = Func(d);
printf("After:%d/%02d/%02d\n",d.year,d.month,d.day);
return 0;
}
本文探讨了C语言中如何使用结构体,包括直接赋值与通过函数修改结构体变量。第一部分展示了如何在函数中直接修改结构体成员,第二部分则介绍了将结构体作为函数返回值可能导致效率低下的问题。
235

被折叠的 条评论
为什么被折叠?



