设为首页 加入收藏

TOP

2.10.1 定义和引用结构体
2013-10-12 07:01:18 来源: 作者: 【 】 浏览:118
Tags:2.10.1 义和 引用 结构

2.10 结构体和共用体

在实际生活中,有大量由不同性质的数据构成的实体,如通信录就是由姓名、地址、电话、邮编等信息组成的。对于这种实体,用数组是难以描述的。因此,C 语言提供了一种被称为结构体的构造型数据类型,结构类型为处理复杂数据类型提供了便利的手段。

2.10.1 定义和引用结构体

结构体与数组类似,都是由若干分量组成的,与数组不同的是,结构体的分量可以是不同类型,可以通过成员名来访问结构体的元素。

结构体的定义说明了它的组成成员,以及每个成员的数据类型。定义一般形式如下:

  1. struct 结构类型名  
  2. {  
  3. 数据类型成员名1;  
  4. 数据类型成员名2;  
  5. ……  
  6. 数据类型 成员名n;  
  7. }; 

例如,定义一个结构体address,用它来记录通信录信息:

  1. struct address  
  2. {  
  3. char name[30]; /*姓名,字符数组作为结构体中的成员*/  
  4. char street[40]; /*街道*/  
  5. unsigned long tel; /*电话,无符号长整型作为结构体中的成员*/  
  6. unsigned long zip; /*邮政编码*/  

结构的定义说明了变量在结构中的存在格式,要使用该结构就必须说明结构类型的变量。结构变量说明的一般形式如下:

  1. struct 结构类型名称结构变量名; 

定义结构体便是定义了一种由成员组成的复合类型,而用这种类型说明了一个变量才会产生具体的实体。与说明基本数据类型的变量一样,系统会按照结构定义时的内部组成,为说明的结构变量分配内存空间。结构变量的成员在内存中占用连续的存储区域,所占内存大小为结构中每个成员的长度之和。

我们可以将变量student1 说明为address类型的结构变量:

  1. struct address student1; 

虽然,结构体作为若干成员的集合是一个整体,但在使用结构时,不仅要对结构的整体进行操作,还经常要访问结构中的每一个成员。在程序中使用机构中成员的方法为:

结构变量名.成员名称

如 student1.tel表示结构变量student1 的电话信息。

和其他类型的变量一样,结构变量也可以进行初始化。结构初始化的一般形式如下:

  1. struct 结构类型名结构变量=  
  2. { 初始化数据1, …… 初始化数据n }; 

例如对变量student1 的初始化可以用如下形式:

  1. struct address student1 =  
  2. { “wang”,”Road 1”, 123456, 1111 }; 


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.8.1 一维数组的定义和使用 下一篇2.9.4 字符串与指针

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: