C++__函数和结构

按值传递与地址传递

  • 按值传递
    传递和返回结构
    当结构体比较小的时候,按值传递结构比较合理,按值传递的函数例子示例如下:
struct travel_time
{
   int hours;
   int mins;
}
int main()
{
   travel_time t1,t2;
   ......
   travel_time sum(travel_time t1,travel_time t2)
   {
      travel_time total;   //定义一个结构体
      total.mins =(t1.mins+t2.mins);
      total.hours=(t1.hours+t2.hours);
      return total;        //返回结构体
   }
   ......
   return 0;
}

  • 传递结构的地址
    传递一个结构的指针给其他函数
    只传递结构的地址而不是整个机构,这样可以节省空间和时间。例子如下:
struct travel_time
{
   int hours;
   int mins;
}

void show_time(const travel_time *time)
{
   cout <<time->hours<<endl;
   cout <<time->mins<<endl;
   return;
}
int main()
{
   travel_time time1={12,34};
   travel_time *time2;
   time2 = &time1;
   show_time(time2);
   return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值