日期:2011-03-22 13:55:00 来源:本站整理
<b>C/C++中的构造体</b>[VC/C++编程]
本文“<b>C/C++中的构造体</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
什么是构造体?
简单的来说,构造体就是一个可以包含差别数据范例的一个构造,它是一种可以自己定义的数据范例,它的特点和数组主要有两点差别,首先构造体可以在一个构造中声明差别的数据范例,第二相同构造的构造体变量是可以彼此赋值的,而数组是做不到的,因为数组是单一数据范例的数据调集,它本身不是数据范例(而构造体是),数组名称是常量指针,所以不可以做为左值举行运算,所以数组之间就不能通过数组名称彼此复制了,即便数据范例和数组大小完好相同.
定义构造体利用struct修饰符,比方:
struct test
{
float a;
int b;
};
上面的代码就定义了一个名为test的构造体,它的数据范例就是test,它包含两个成员a和b,成员a的数据范例为浮点型,成员b的数据范例为整型.
由于构造体本身就是自定义的数据范例,定义构造体变量的办法和定义普通变量的办法一样.
test pn1;
这样就定义了一test构造体数据范例的构造体变量pn1,构造体成员的拜候通过点操作符举行,pn1.a=10 就对构造体变量pn1的成员a举行了赋值操作.
注意:构造体生命的时刻本身不占用任何内存空间,只有当你用你定义的构造体范例定义构造体变量的时刻计算机才会分配内存.
构造体,一样是可以定义指针的,那么构造体指针就叫做构造指针.
构造指针通过->标记来拜候成员,下面我们就以上所说的看一个完好的例子:
#include<iostream>
#include<string>
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;
test*point;//定义构造指针
point=&pn2;//指针指向构造体变量pn2的内存地址
cout<<pn2.a<<"|"<<pn2.b<<endl;
point->a=99;//通过构造指针改正构造体变量pn2成员a的值
cout<<pn2.a<<"|"<<pn2.b<<endl;
cout<<point->a<<"|"<<point->b<<endl;
cin.get();
}
总之,构造体可以描写数组不可以清楚描写的构造,它具有数组所不具有的一些功效特点.
以上是“<b>C/C++中的构造体</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论