2021-12-8

C++学习笔记(22)

1.程序中可以用一个无符号整数表示集合,每一位的取值表示对应的元素是否在集合中(1表示在,0表示不在)。利用位运算可以实现集合相关运算。

2.对于\b解释为退格,代表backspace,退格键,其实这个退格键和键盘上的backspace不一样,并不会删除文本,而是移动光标的位置作用。

3.集合的数据表示:
一个无符号整数有32位,可以表示有32个元素的集合当位序为i的位其值为1时,表示元素i+1在集合中。
当需要表示的集合元素个数大于32个时,可以用数组。长度为N的整型数组可以表示32N个元素的集合。
例:
设有说明:
unsigned Set[N]; //N为常量;
若x属于Set:
数组下标:(x-1)/32;
数组位序:(x-1)%32;

例:当元素85属于Set,有(85-1)/32=2,(85-1)%32=20,则Set[2]的第20位的值为1。

4.结构:由数目固定的成员(又称域、项目或元素)构成,各成员可以具有不同的数据类型。一个结构变量在内存中占有一片连续的存储空间。
补充:因为结构体需要额外的字节数来表示是结构体,所以一个结构体所占的字节数不是成员字节数简单地相加。

结构类型是用户自定义的数据类型,以关键字struct标识:
struct 类型 标识符
{类型 成员1;
类型 成员2;

类型 成员n;
};
注意{}后跟着一个;
可以定义之后独立说明变量,也可以在定义时}和;之间直接说明变量。
说明结构变量的同时可以进行初始化。

5.结构的访问:
定义结构类型时{}里的数据成员并不是普通变量,只是描述了数据的组织形式,只有当类型变量说明后,系统才开始建立存储空间。
访问结构变量的成员要用圆点运算符:
结构变量名.成员

如果用指针访问结构,所指对象包含了结构的成员,则访问形式为:
*(指针).成员

指针->成员

结构类型指针要执行++则偏移量是一个结构的长度;
访问结构变量里的各成员不能用指针偏移方式,只能用圆点运算符。

类型相同的结构变量可以使用赋值运算,指的是用同一个类型标识符说明的变量而不仅是成员相同。

6.结构参数:结构类型变量和基本数据类型变量作为函数参数时具有一样的传值、间址和引用性质。

7.结构数组:数组的元素类型为结构类型。
其定义和访问的方式遵循数组和结构的语法规则。
定义:
结构标识符 数组名[数组长度];
访问:
数组名[下标表达式].成员名

结构数组元素进行交换时可能会因为信息量较大而效率较低,因此可以用一个辅助数组用于存放结构数组元素的地址(下标),生成一个索引表。排序完成后通过输出辅助数组实现结构数组的排序输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值