枚举和指针类型

在C语言中,仅有4种基本数据类型--整型、浮点型、指针和聚合类型(如数组和结构等)。

所有其他的类型都是从这4种基本类型的某种组合派生而来。

枚举(enumerated)类型就是指它的值为符号常量而不是字面值的类型。

enum Jar_Type {CUP, PINT, GALLON};
这条语句声明了一个类型,称为Jar_Type。这种类型的变量按下列方式声明:
enum Jar_Type milk_jug, gas_can, medicine_bottle;
这种类型的变量实际上以整型的方式存储,这些符号名的实际值都是整型值。这里CUP是0,PINT是1,依次类推。适当的时候,你可以为这些符号名指定特定的整型值
enum Jar_Type {CUP = 8, PINT = 16, GALLON = 128};
只对部分符号名用这种方式赋值也是合法的,如果某个符号名未显式指定一个值,那么它的值就比前面的一个符号名的值大1。
符号名被当做整型常量处理,声明为枚举类型的变量实际上是整数类型。

指针
变量的值存储于计算机的内存中,每个变量都占据一个特定的位置。每个内存位置都由地址唯一确定并被引用。指针只是地址的另一个名字罢了。指针变量就是一个其值为另一个(一些)内存地址的变量。C语言拥有一些操作符,你可以获得一个变量的地址,也可以通过一个指针变量取得它所指向的值或数据结构。通过地址而不是名字来访问数据。你可以把计算机的内存想象成一条长街上的一间间房子,每间房子都用一个唯一的号码进行标示。每个位置包含一个值,这和它的地址是独立且显著不同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值