我爱黑客网首页 设为首页
加入收藏
联系我们
 首 页  技术文章 下载中心 站长学院 交流论坛
 软件:
 文章:        教程:
 推荐: 我爱黑客网论坛
 
 
 
 
   
黑软: Q Q 软件 木马间谍 探嗅监听 溢出攻击 加密解密 漏洞扫描 脚本注入 远程控制 综合利用 聊天工具  
 
技术文章: 爱黑新闻 | 黑客攻防 | 网络技术 | 程序设计 | 系统操作 | 本站动态 | 业界动态 | 安全公告 | 病毒公告 | 八卦黑客
 
 
您当前的位置:我爱黑客 -> 程序设计 -> C++ -> C++综合 -> 文章内容  
栏目导航
· C++综合 · C++通信
· C++视图 · C++图象
· C++系统 · C++多媒体
· C++界面 · C++文件
· C++数据库 · C++网络
热门文章
· C/C++中的结构体
· C/C++中结构体(struct..
· C++中类的继承特性
· C++启蒙之控制结构
· C++面向对象编程入门:..
· C++面向对象编程入门:..
· 理解C++面向对象程序设..
· C++类对象的复制-拷贝..
· C++类静态数据成员与类..
· C++友元的入门教程
· C++中类的多态与虚函数..
· 类的分解,抽象类与纯..
相关文章

· C/C++中结构体(stru..
· [图文] Eclipse3.06 ..
· C/C++返回内部静态成..
· 用Eclipse平台进行C..
· C/C++作用域引申出的..
· 西部数据推500GB台式..
· Linux /proc//mem m..
· /etc/inittab文件的..
查看更多与C/C++中的结构体相关内容

C/C++中的结构体
作者:幽火  来源:www.5ihack.com  发布时间:2007-1-8 17:12:03  发布人:ghostfire

减小字体 增大字体

  什么是结构体?

  简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同。

  定义结构体使用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(); 
}

  总之,结构体可以描述数组不能够清晰描述的结构,它具有数组所不具备的一些功能特性。

查看更多与C/C++中的结构体相关内容

[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:
下一篇文章:
      C/C++中结构体(struct)知识点强化       CB非可视组件的消息处理技巧
∷相关文章评论∷   (评论内容只代表网友观点,与本站立场无关!) [发表评论]
 
 
 
 
晋ICP备05008232   维护网络安全、传播安全技术才是我们的目标! 
 
关于本站 - 网站帮助 - - 下载声明 - 友情连接 -网站地图