网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C语言初级讲座之二.
.在 C++ 中控制Windows关机.
.快的马.
.恺撒的规化.
.C语言图形编程(一、字符屏幕).
.指针数组.
.一个二分法查找的图形演示程序.
.《用做好的Excel報表模板來做報表.
.CB编程中动态更改自定义打印纸张.
.The Standard C Library for Lin.
.C++箴言:绝不在构造或析构期调用.
.如何在C/C++中调用Java.
.二叉树的几种运算方法.
.用C++品尝Vista美味:界面的毛玻.
.C++入门解惑——为什么学习C++.
.自动跳转.
.C/C++语言void及void指针深层探索.
.C语言库函数 (D类字母).
.如何获取屏幕保护程序的密码.
.制作用于日期时间型字段的DELPHI.

C++中结构体的的慨念和使用方法

发表日期:2008-3-8



  什么是结构体?

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

  定义结构体使用strUCt修饰符,例如:

C++ 代码
struct test
{
 float a;
 int b;
};
  上面的代码就定义了一个名为test的结构体,它的数据类型就是test,它包含两个成员a和b,成员a的数据类型为浮点型,成员b的数据类型为整型。

  由于结构体本身就是自定义的数据类型,定义结构体变量的方法和定义普通变量的方法一样。

test pn1;

  这样就定义了一test结构体数据类型的结构体变量pn1,结构体成员的访问通过点操作符进行,

pn1.a=10 就对结构体变量pn1的成员a进行了赋值操作,

  注重:结构体生命的时候本身不占用任何内存空间,只有当你用你定义的结构体类型定义结构体变量的时候计算机才会分配内存。

  结构体,同样是可以定义指针的,那么结构体指针就叫做结构指针。

  结构指针通过->符号来访问成员,下面我们就以上所说的看一个完整的例子:

 C++ 代码
//程序作者:管宁
//所有稿件均有版权,如要转载,请务必注明出处和作者

#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++程序设计从零开始之何谓编程 人气:452
下一篇:用C++实现简单的文件I/O操作 人气:909
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐