C++结构和数组的差异(基本概念)

为结构编写函数比为数组编写函数要简单得多。

结构是一个实体,被 看做一个整体,可以将一个结构赋给另一个结构。

函数可以返回结构。数组名就是数组第一个元素的地址,而结构名只是结构的名称,要想获得结构的地址,必须使用地址运算符&

然而,按值传递结构有一个缺点,就是结构非常大的情况下,复制结构将增加内存要求,所以更倾向于传递地址, 使用指针进行传递,C++中按照引用进行传递。

举一个通用的例子,计算时间的。

//本程序是用来示例“结构”的用法 
百度收录批量查询 
//本程序以开车从A点到B点的时间作为变量参数,一个是小时,一个是分钟,trip进行操作

#include 
struct travel_time 

int hours; 
int mins; 
}; 
const int Mins_per_hr = 60;

travel_time sum(travel_time t1, travel_time t2); //继续声明,结构函数声明 
void show_time(travel_time t);

//-----------------------------------【ShowHelpText( )函数】---------------------------------- 
// 描述:输出一些帮助信息 
//---------------------------------------------------------------------------------------------- 
void ShowHelpText() 雅思多少分可以出国

//输出欢迎信息和OpenCV版本 
printf("\n\n\t\t\t非常感谢您下载浏览 C++7.6 程序\n"); 
printf("\n\n\t\t\t此程序作用:函数和结构\n"); 
printf("\n\n\t\t\t 作者 learning 日期:20190101"); 
printf("\n\n ----------------------------------------------------------------------------\n"); 
}

int main() 

using namespace std;

                     ShowHelpText();

travel_time day1 = { 5, 45 };//5小时45分钟
travel_time day2 = { 4, 55 };//4小时55分钟

travel_time trip = sum(day1, day2);
cout << "两天行程所有的时间:";
show_time(trip);

travel_time day3 = { 4, 32 };
cout << "三天的所有时间:";
show_time(sum(trip, day3));

cin.get();
return 0;  

}

travel_time sum(travel_time t1, travel_time t2) 

travel_time total;

                     total.mins = (t1.mins + t2.mins) % Mins_per_hr;//求余数
total.hours = (t1.hours + t2.hours) + (t1.mins + t2.mins) / Mins_per_hr;//除数

return total;  

}

void show_time(travel_time t) 

using namespace std; 
cout << t.hours << "小时 " << t.mins << “分钟” << endl; 

运行结果:

作者:learning_CV 
来源:CSDN 
原文: https://blog.csdn.net/qq_15698613/article/details/85559900 
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2020-09-29 16:01  小琪琪来啦  阅读(253)  评论(0编辑  收藏  举报
欢迎大家来到我的博客:武汉雅思 | 武汉托福 | 新航道 | 雅思培训 | dnfsf | 天龙sf | 热血江湖sf | 天龙sf | dnfsf