嗨翻C语言——结构、联合与位字段(5)

本文介绍了C语言中的关键概念,如constchar*用于表示不可修改的字符串,struct作为结构化数据类型允许组合不同类型的变量。结构体的大小固定,通过`.`运算符访问其成员。typedef可以为结构体创建别名。枚举enum用于定义一组命名的整数常量,而联合union则有效地利用内存,能存储多种类型的数据。位字段允许指定变量占用的位数。
摘要由CSDN通过智能技术生成

1、const char*表示将传递字符串字面值,主要保存不想修改的字符串。
2、struct是structured data type(结构化数据类型)缩写,可以将不同类型的数据写在一起。
3、结构的大小固定,结构的数据都有名字。
4、

struct fish snappy = {“Snappy”,“Piranha”,694}

struct fish是数据类型。
snappy是变量名。
5、把参数封装在结构中,代码会更稳定。
6、访问结构时不能以访问数组的方式进行访问,应该按使用"."运算符访问结构字段。
例如:

printf("Name=%s\n",snappy.name);

7、注意:定义结构时末尾要加”;”
8、复制结构,具体复制的是字符串指针,而非字符串本身。
9、进行结构操作:
(1)定义结构数据
(2)使用结构数据进行目录项目的代入(建议将结构进行重命名)
(3)对结构进行赋值,使用目录输出。
在这里插入图片描述

10、用typedef为结构命名,规则为在结构前加上typedef,在后面起别名。
在这里插入图片描述

11、别名就是类型名,也就是说结构有两个名字,一个是结构名(struct cell_phone),一共是类型名(phone).
12、结构是一种由一系列其他数据类型组成的数据类型。
13、更新结构时,可以像修改变量那样修改字段。
14、当要把结构传给函数,并更新它的值时,需要使用结构指针。
15、(*t).age指向年龄 *t.age指t.age这个存储器单元中的内容。
16、

t->age==*t).age

17、联合可以有效使用存储器空间。
在这里插入图片描述

18、如何使用联合:
(1)C89方式:

 quantity q = {4}

(2)指定初始化器:

quantity q = {.weight=1.5};

(3)”点“表示法:

quantity q;
q.volume = 3.7

19、联合常和结构一起用。可以在联合中保存各种类型的值,但是保存后,并不知道这些值是以哪种类型保存的。所以可以使用一种技巧——创建枚举。
20、枚举:(数据项之间用逗号隔开)

enum colors{RED,GREEN,PUCE};
enum colors favorite = PUCE;

21、 位字段可以指定一共字段有多少位,一般位字段是连续的,放在一起的。
在这里插入图片描述

22、为什么C语言不支持二进制字面值?
因为二进制字面值占了很大空间,而且十六进制写起来更快。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值