基于C语言实现位图

本文详细介绍了如何使用C语言进行位图操作,包括创建、读取和修改位图文件,以及位运算的应用,适合想要深入理解位图和C语言编程的读者。
摘要由CSDN通过智能技术生成

之前写过哈希表的一些操作,下面来介绍哈希表的一种变形——位图
位图是用来表示数字是否存在的情况

位图的优点是能够节省很多空间,但是缺点就是只能够表示数字是否存在
1.初始化操作
 12 void BitmapInit(Bitmap* bm,uint64_t capacity)
 13 {
 14     if(bm == NULL)
 15     {
 16         //非法输入
 17         return ;
 18     }
 19     bm->capacity = capacity;//capacity 表示该位图能表示的最大的数字
 20     uint64_t size = GetSize(capacity);//size表示申请内存时对应数组元素个数
 21     bm->data = (BitmapType*)malloc(sizeof(BitmapType)*size);
 22     memset(bm->data,0,sizeof(BitmapType)*size);
 23 }
 24 


2.销毁操作
 25 void BitmapDestroy(Bitmap* bm)
 26 {
 27     if(bm == NULL)
 28     {
 29         return ;
 30     }
 31     bm->capacity = 0;
 32     free(bm->data);
 33     return ;
 34 }

3.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值