牛骨文教育服务平台(让学习变的简单)

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();