#include <stdio.h>//定义结构体
struct bank{double income1;double income2;
};
//定义相加函数,形参为一个指针
double sum(struct bank *money)
{return(money->income1 + money->income2);
}int main(void)
{//结构体初始化struct bank zhangsan = {100.34,200.11};printf("zhangsan totally have %f n", sum(&zhangsan));
}
打印结果:
zhangsan totally have 300.450000
解析:
sum()函数使用指向结构体bank的指针money作为参数,在主函数中使用sum(&zhangsan)将zhangsan的地址传给sum()函数。然后通过"->"运算符获取zhangsan.income1和zhangsan.income2的值。
注意:和数组名不同,数组名就是数组的首地址,而结构体名只是其地址的别名,必须使用&取地址运算符才能获取结构体的地址。
#include <stdio.h>//定义结构体
struct bank{double income1;double income2;
};//定义相加函数,形参为一个结构体
double sum(struct bank money)
{return(money.income1 + money.income2);
}int main(void)
{//结构体初始化struct bank zhangsan = {100.34,200.11};printf("zhangsan totally have %f n", sum(zhangsan));
}
打印结果:
zhangsan totally have 300.450000
解析:
本方法是最常见的方法。调用sum()函数时,编译器根据bank模板创建了一个名为money的自动结构变量。然后,该结构被初始化为zhangsan。访问结构体变量使用".“,当money是指针时才用”->"。
本文发布于:2024-02-05 04:24:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170724064563010.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |