正文

C++入门 第7章    7.1.1 结构体概述2008-10-16 09:40:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/38925.html

分享到:

 

在一个组合项中包含若干个类型不同(当然也可以相同)的数据项。C和C++允许用户自己指定这样一种数据类型,它称为结构体。它相当于其他高级语言中的记录(record)
例如,可以通过下面的声明来建立如图7.1所示的数据类型。
struct Student               //声明一个结构体类型Student
{ int num;                 //包括一个整型变量num
char name[20];           //包括一个字符数组name,可以容纳20个字符
char sex;                //包括一个字符变量sex
int age;                 //包括一个整型变量age
float score;             //包括一个单精度型变量
char addr[30];           //包括一个字符数组addr,可以容纳30个字符
;                        //最后有一个分号
 
这样,程序设计者就声明了一个新的结构体类型Student(struct是声明结构体类型时所必须使用的关键字,不能省略),它向编译系统声明: 这是一种结构体类型,它包括num, name, sex, age, score, addr等不同类型的数据项。应当说明Student是一个类型名,它和系统提供的标准类型(如intcharfloatdouble等)一样,都可以用来定义变量,只不过结构体类型需要事先由用户自己声明而已。
声明一个结构体类型的一般形式为
struct 结构体类型名
{成员表列};
 
结构体类型名用来作结构体类型的标志。上面的声明Student就是结构体类型名。大括号内是该结构体中的全部成员(member),由它们组成一个特定的结构体。上例中的num,name,sex,score等都是结构体中的成员。在声明一个结构体类型时必须对各成员都进行类型声明,即
类型名  成员名;
每一个成员也称为结构体中的一个域(field)。成员表列又称为域表。成员名的定名规则与变量名的定名规则相同。
声明结构体类型的位置一般在文件的开头,在所有函(包括main函数)之前,以便本文件中所有的函数都能利用它来定义变量。当然也可以在函数中声明结构体类型。
 
C语言中,结构体的成员只能是数据(如上面例子中所表示的那样)C++对此加以扩充,结构体的成员既可以包括数据(即数据成员),又可以包括函数(即函数成员),以适应面向对象的程序设计。但是由于C++供了类(class)类型,一般情况下,不必使用带函数的结构体,因此在本章中只介绍只含数据成员的结构体,有关包含函数成员的结构体将在第8章介绍类类型时一并介绍。

阅读(2175) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册