科锐课堂笔记:2017/3/23 共用体与枚举类型

  空结构体大小为1字节。关于这点的理解如下,假如定义了一个空结构体变量并取其地址,值为多少?如果大小为0那就不会分配内存空间变得没有地址可取,所以编译器对此的实现是空结构体也占1字节的空间。
  同类型结构体可以整体赋值。(忌讳的是有成员类型是指针变量,处理不好相互影响结果)
  结构体当函数参数时,外部传入的结构体内容全部拷贝到形参栈空间。


  大写字母转小写 ch = ch | (‘a’-‘A’);
  小写字母转大写ch = ch & ~(‘a’-‘A’);


  共用体(也有翻译叫联合体)关键字union,语法定义类同struct。共用体所有成员共享使用同一段内存,成员名是解释此段内存的代号。手动实现就是强转指针类型取内容,而共用体是编译器对此实现提供了一种简易方式,同时也增加了可读性。
  枚举关键字enum,成员间用逗号分隔,每个成员都是一个常量值。默认的如果不指定成员值,编译将第一个成员定义为0,后面的成员累加1,如果有成员数值被显示指定,那么后面没有指定的成员在指定值的基础上累加1。
  枚举与宏不同的一点,枚举类型限制符号化常量的范围,其值只能取定义者之一。


  双冒号(::)作用域符。


  复合类型中嵌套复合类型,一般在有3种用途:
  一、 分类管理。(典型的在一个结构体中定义多少子结构体类型)
  二、 避免重名。(被嵌套复合类型,裹了上一层的作用域)
  三、 类型私有。(被嵌套的复合类型不定义名称,就等于私有使用了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值