结构和其他数据形式

结构


结构的声明

struct book {
      char title[];
      char author[];
      float price
}

struct book Steve;

1.结构的声明描述了组成这类对象的元素

struct book life, *ptbook; //是一下声明的简化
struct book {
      char title[];
      char author[];
      float price
}life;


2. 定义结构变量

struct book life = {
   "xxx xxx xxx";
   "xxx xxx xxx";
    3.0
};



3.初始化结构

struct book *ptbook;

4.指向结构的指针
和数组不同,一个结构的名字不是该结构的地址


枚举类型

1. 枚举类型的目的是提高程序的可读性

enum spectrum {red, orange, yellow, green};
声明设置spectrum为标记名,从而允许把enum spectrum作为一个类型名使用。

enum spectrum color;
声明color为该类型的一个变量,括号中的标示符枚举了color变量可能的值。

color = blue;
if (color == yellow)

2.枚举列表中的常量默认为整数值,从0开始

enum levels {low = 100, medium = 500, high = 1000};
指定枚举列表中的值


typedef

1. 用typedef可以为某一类型创建指定的名字,与#define的不同之处在于:
 (1)typedef给出的符号名称仅限于对类型,而不是对值
 (2)typedef由编译器解释,而不是预处理器

typedef struct complex{
  float real;
  float imag
} COMPLEX;

也可以省略结构的标记

typedef struct{
  float real;
  float imag
} COMPLEX;

一些奇特的声明

int   **ptr;   //指向int的指针的指针





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值