C/C++两种传递结构体的方法(传递地址“

阅读: 评论:0

C/C++两种传递结构体的方法(传递地址“

C/C++两种传递结构体的方法(传递地址“

文章目录

  • 1.方法一:传递结构体地址
  • 2.方法二:传递结构体

传递结构体,实现结构体内部变量的相加。可以明白在结构体中,什么时候访问成员变量用".“什么时候用”->"。

1.方法一:传递结构体地址

#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的值。
  注意:和数组名不同,数组名就是数组的首地址,而结构体名只是其地址的别名,必须使用&取地址运算符才能获取结构体的地址。

2.方法二:传递结构体

#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 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23