VC++中结构体的定义及使用
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。结构体最最主要的意义就是封装,而封装的好处就是可以再次利用。掌握了结构体的定义和使用方法,对编程具有非常重要的意义。结构体的使用能够封装一些属性来组成新的类型,能够使程序内部实现模块化,能够简化程序的结构和复杂度,能够方便我们对一组数据的成组操作。另外,结构体和前面讲述的vector的配合使用更是天衣无缝,非常方便和实用。
下面将结合实例详细讲述结构体的定义和使用方法,以及与vector的结合使用。(完整的实例可以在我的CSDN资源中下载: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
",(*vecIter).a,(*vecIter).b);
vecIter++;
}
MessageBox(str);
vec.clear();