结构体

  • struct 结构体

      {成员}变量;其中 . 叫成员分量运算符

  • 结构体数组定义,花括号和逗号{{,,…},{,,…}}
  • 占内存长度为各成员占内存长度之和
  • 结构体指针:(*p).num等价于p->num等价于变量.成员。注意p->n++和++p->n,先用再加和先指向,自加,再用
  • 指向结构体数组:p=stu,p指向第一个元素,p+1指向第二个元素,(++p)->num即p先指向下一个元素(相当于数组名+1)再得到指向的成员值
  • void print(struct student *)结构体指针作形参

 

  • 静态链表:结构体中定义成员struct xxx *next,使head=第一个结点的地址,依次指向后,使p=head,最后一个结点的next->NULL,用p=p->next来指向下一结点
  • 动态链表:

malloc(size),分配一个长度为size的连续空间,返回一个void指针

calloc(n,size)分配n个长度为size的连续空间

以上两个分配不成功返回NULL

free(*p)释放p指向的动态储存区

 

  • 将struct换成union即共用体,几个变量共占同一段内存,占内存长度等于最长的成员长度
  • 共用体变量中只有最后一次存放的成员,可以用于对立的一些数据存储,节省空间
  • 不能作为函数参数,函数不能传递共用体变量,可以使用指向共用体变量的指针

 

  • 枚举enum
  • enum xxx{aaa,bbb,…},系统为其赋值0,1,2…,aaa,bbb等叫做枚举常量(枚举元素)。也可在花括号里定义aaa=7,则bbb=2依次不变
  • enum xxx p定义一个枚举变量p
  • 可将枚举常量赋值给p,输出p可得常数。不能直接p=2,要加强制转换p=(enum xxx)2,则p=bbb

 

  • typedef+类型+指定名,于是可以用指定名代替该类型去定义
  • typedef int ARRAY[10];ARRAY a意思是a是一个长度为十的一维数组

便于程序的通用和移植,对于字节数不同的机器只需修改typedef后类型即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值