从C开始_结构体_把结构信息传递到函数中1

想想以前学的我们知道函数的阐述可以向另一个函数传递值,而这个“值”可以是数字(可能是int型的,也可能是float型的)ASCII字符编码,或者是地址。虽然我们的结构相对于要更加复杂,但我们要知道的是我们允许计算机吧结构作为参数传递,还可以吧只想结构的指针作为参数传递,如果我们知识关心结构的一部分,我们甚至可以把结构成员作为参数传递给函数!
———————————————————————————————————————————————————

我们首先说说第三个——传递结构成员
其实只要我们的结构成员是具有但购置的数据类型[也就是说是:int以及其相关类型,char,float,double或者是指针],就可以把他作为参数传递给接受这种特定类型的函数;下面这个关于金融分析的程序就能让我们理解这一点(注:这程序是把客户的一行账户加到另一个人的贷款账户里)
———————————————————————————————————————————————————
、  #include <stdio.h> 
#define FUNDLEN 50 
struct funds {     /* 定义一个结构并使用标记*/ 
   char bank[FUNDLEN];
   double bankfund; 
   char save[FUNDLEN]; 
   double savefund; 
 }; 
double sum (double, double);  
int main (void) 

    struct funds stan = {     /* 声明一个结构变量 幵对结构成员进行初始化 */ 
       "Garlic-Melon Bank", 
       3024.72, 
       "Lucky's Savings and Loan", 
       9237.11 
    }; 


     printf ("stan has a lotal of $%.2f \n", sum(stan.bankfund, stan.savefund)); 
return 0; 
}  
/* 对两个 double 数值求和 */ 
double sum (double x, double y) 

   return (x + y); 

———————————————————————————————————————————————————

结果会是这样:

Stan has a total of $12261.83 

嘿嘿,起作用了,注意函数sum()既不知道耶不在意实际的参数是不是结构的成员,你只用记住他只要求参数是double类型!

[当然如果你想让被调函数影响函数中成员的值,可以传递成员地址!

modify(&stan.bankfund);

这是一个改变stan的银行账户的函数]*(自学)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值