c++结构体的作用,C++的结构体
什么是结构?
简单地说,结构是可以包含不同数据类型的结构。它是一种可以自己定义的数据类型。它的特征主要在两个方面不同于数组。首先,结构可以在一个结构中声明不同的数据类型。其次,同一个结构的变量可以互相赋值,但是数组不能,因为数组是单一数据类型的数据集合,它不是数据类型(而结构是)。数组的名字是const pointer,所以不能作为左值,所以数组不能通过数组名互相复制,即使数据类型和数组大小完全相同。
使用结构修饰符定义结构,例如:struct test。
{
浮动a;
int b;
};
上面的代码定义了一个名为test的结构,它的数据类型是test。它包含两个成员A和B,成员A的数据类型为浮点,成员B的数据类型为整数。
因为结构本身是用户自定义的数据类型,所以定义结构变量的方法和定义普通变量的方法是一样的。
测试pn1
这样就定义了一个测试结构数据类型的结构变量pn1,结构成员的访问是通过点运算符进行的。
1.当pna=10时,结构变量pn1的成员a被赋值,
注意:结构体本身在生存的时候不占用任何内存空间,计算机只会在你用你定义的结构体类型定义结构体变量的时候分配内存。
结构也可以定义指针,所以结构指针叫做结构指针。
结构指针通过-符号访问成员。让我们来看一个完整的例子:
//节目作者:关宁
//所有稿件版权所有。如需转载,请务必注明出处和作者。
#包括iostream
#包含字符串
usingnamespacestd
Structtest//定义一个名为test的结构
{
inta//定义结构成员a。
intb//定义结构成员b。
};
voidmain()
{
testpn1//定义结构变量pn1
testpn2//定义结构变量pn2
pn2.a=10//通过成员运算符给结构变量pn2中的成员A赋值
pn2 . b=3;//通过成员运算符给结构变量pn2中的成员B赋值
pn1=pn2//将pn2中的所有成员值复制到结构相同的结构变量pn1中
cout pn1 . a pn1 . b endl;
cout pn2 . a pn2 . b endl;
测试*点;//定义结构指针
点=pn2//指针指向结构变量pn2的内存地址
cout pn2 . a pn2 . b endl;
点-a=99;//通过结构指针修改结构变量pn2成员A的值
cout pn2 . a pn2 . b endl;
cout point-a point-b endl;
CIN . get();
}
总之,结构可以描述数组无法清晰描述的结构,具有数组所不具备的一些功能特征。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。