Chinaunix首页 | 论坛 | 博客
  • 博客访问: 497321
  • 博文数量: 161
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-25 01:20
文章分类

全部博文(161)

文章存档

2011年(44)

2010年(47)

2009年(48)

2008年(22)

我的朋友

分类: C/C++

2008-07-05 14:26:22

 自定义数据类型

枚举型数据结构

      用户可以自己定义一种数据类型,把这种数量类型的变量的可能值一一列举出来,然后就可以使用这种数据类型来定义比常量了,用这种新的数据类型称为枚举类型

Enum 新的数据类型名称{变量值列表}

例如 

     Enum weekday {sum ,mon,tus,wed,thu,fri,sat};

        新的数据类型   ,枚举元素或枚举常量

定义一个weekday类型的变量

Weekday day

变量取值范围为类型定义时,表里列举出来的七种标识符,把这些符号作符号常量对待

     注意:zh

     类型定义后,对枚举元素按常量处理,能对它们赋值

     枚举元素具有默认值,它们依次为:0.1.2.....

     也可以在类型声明时另行指定枚举类型的值

     枚举值可以进行关系运算

     整数值不能直接赋值给枚举变量,如需要将整数值赋给枚举变量,应进制类型转换   

              枚举常量在机器内部仍然时用整型数来存取

              在定义变量时要给变量分配存储空间,那么定义某个枚举类型的变量时!分配几个内存空间呢?(枚举元素默认按整数(int)处理!)

      

结构类型

把意义密切相关的一组数据组合成一个整体,即由各种数据类型(基本数据类型或已知自定义数据类型)的数据组组成的一个集合.

Struct name

{

数据类型说明符1 成员1;

数据类型说明符2 成员2;

数据类型说明符3 成员3;

数据类型说明符4 成员4;

..

}

例如

   Struct student

{

Int num 

Char name[20];

Int age;

Float score;

Int row}

结构类型的变量所占的存储空间是结构中所有成员所占空间的总和

赋值

同时赋值

Student s2={123151,“dfds”,18,20}

单独赋值

S1.name=“dsf”; s1.num=“154231”;

属于同一结构的各个变量之间可以相互赋值,和数组不同,数组名是常量,结构类型的变量可以赋值,不同结构的变量不可以相互赋值,即使这两个变量可能具有同样的成员

结构类型与指针

指向新定义的结构,当然也可以是自定义的结构类型,

也可以将结构变量的地址赋给结构指针,

用结构指针访问成员变量

结构类型与数组

结构数组的每个元素都是该结构类型的变量

结构类型与函数

用结构变量作为函数参数,属于按

值传递,这时结构变量中所有成员的值都被意义赋值到形参中

用结构变量作为函数参数,也可以按引用传递,这时仅仅吧结构变量

的地址穿个形参,而不用把结构变量的成员一一复制.

函数的返回值,也可以是某个结构类型,以结构变量作为函数的返回值,到主函数中

需要把结构值复制到主函数中,效率低,同时也可以用结构的引用(指针),不能

返回一个局部结构变量的引用或指针

阅读(1094) | 评论(0) | 转发(0) |
0

上一篇:c++基础篇二

下一篇:c语言链表

给主人留下些什么吧!~~