设为首页 加入收藏

TOP

2.1.3 构造数据类型(2)
2013-11-12 22:25:23 来源: 作者: 【 】 浏览:91
Tags:2.1.3 构造 数据 类型

2.1.3  构造数据类型(2)

或:

  1. worker worker1,worker2; //错误,没有struct关键字,系统不认为worker是结构体类型 

为了使用方便,通常用一个符号常量代表一个结构体类型。即在程序开头加上下列语句:
 

  1. #define WORKER struct worker 

这样在程序中,WORKER与struct worker完全等效。

例如:

  1. WORKER  
  2. {    long number;  
  3.      char name[20];  
  4.      char sex;  
  5.      int age;  
  6.      float salary;  
  7.      char address[80];  
  8.      char phone[20];  
  9.  };  
  10. WORKER worker1,worker2;  

此时,可以直接用WORKER定义worker1、worker2两个变量,而不必再写关键字struct。如果程序规模比较大,通常将对结构体类型的定义集中写入到一个头文件(以.h为后缀)中。哪个源文件需用到此结构体类型则可用#include命令将该文件包含到本文件中。这样做便于程序的修改和使用。

(2) 在定义类型的同时定义变量

这种形式定义的一般形式为:
 

  1. struct 结构体名  
  2.     {  
  3.     成员表列;  
  4.     }变量名;  

例如:

  1. struct worker  
  2. {  
  3.    long number;  
  4.     char name[20];  
  5.     char sex;  
  6.     int age;  
  7.     float salary;  
  8.     char address[80];  
  9.     char phone[20];  
  10. } worker1,worker2;    

此例与前例作用相同,都定义了两个变量worker1、worker2,都是结构体类型struct worker。

(3) 直接定义结构类型变量

其一般形式为:

  1. struct             //没有结构体名  
  2. {  
  3.       成员表列;  
  4. }变量名;  

例如:

  1. struct  
  2. {  
  3.       long number;  
  4.       char name[20];  
  5.       char sex;  
  6.       int age;  
  7.       float salary;  
  8.       char address[80];  
  9.       char phone[20];  
  10. } worker1,worker2;  

一个结构体变量占用内存的实际大小,可以利用sizeof运算求出。其运算表达式为:

  1. sizeof(运算量)     //求出给定的运算量占用内存空间的字节数 

其中运算量可以是变量、数组或结构体变量,也可以是数据类型的名称。

例如:
 

  1. sizeof(struct worker)  
  2.     sizeof(worker1)  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.1.3 构造数据类型(1) 下一篇2.1.3 构造数据类型(3)

评论

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