多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。结构体最最主要的意义就是**封装**,而封装的好处就是可以再次利用。掌握了结构体的定义和使用方法,对编程具有非常重要的意义。结构体的使用能够封装一些属性来组成新的类型,能够使程序内部实现模块化,能够简化程序的结构和复杂度,能够方便我们对一组数据的成组操作。另外,结构体和前面讲述的vector的配合使用更是天衣无缝,非常方便和实用。 下面将结合实例详细讲述结构体的定义和使用方法,以及与vector的结合使用。(完整的实例可以在我的CSDN资源中下载:[http://download.csdn.net/detail/margin1988/4570184](http://download.csdn.net/detail/margin1988/4570184)) (1)结构体的定义和基本使用 1)定义方法 ~~~ typedef struct my1 { int a; float b; }MOD1; ~~~ 2)使用方法 ~~~ MOD1 mystruct;//或者:my1 mystruct; mystruct.a = 10; mystruct.b = 3.14f; ~~~ (2)结构体与vector的结合使用 ~~~ #include <vector> using namespace std; vector<MOD1> vec;//或者:vector< my1 > vec; vector<MOD1>::iterator vecIter;//或者:vector< my1 >::iterator vecIter; for (int i=1;i<=10;i++) { mystruct.a = i; mystruct.b = (float)(3.14*i); vec.push_back(mystruct); } CString str; vecIter = vec.begin(); while(vecIter != vec.end()) { str.AppendFormat("a=%d,b=3.14*a=%0.2f\n",(*vecIter).a,(*vecIter).b); vecIter++; } MessageBox(str); vec.clear(); ~~~