请问一下,如下的宏定义该如何理解。 #define set(pDest,len,bit) (((UCHAR *)(pDest))[((len)-1)-(bit)/8] |= (UCHAR)(1UL<<((bit)%8)))这里,指针被强转为((UCHAR *)后,接上数组下标,是指这个是一个数组指针吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有点复杂啊,这里,指针被强转为((UCHAR *)后,接上数组下标,是指这个是一个数组指针吗?pDest被强制转换成UCHAR *指针后,通过数组下标来访问 否。这实际上相当于:SomeType *pDest; // 例如 void *pDest;UCHAR *puc = (UCHAR *)pDest;puc[len - 1 - bit/8] |= (UCHAR)(1UL<<(bit % 8)));这么写你就明白了吧? 这个宏的含义应该是:将pDest指向的缓冲区(长度为len个字节)的倒数(从最末尾开始往前数)第bit位置为1(设最末尾的一个字节的最低位为第0位)。 读取数据库中图片数据显示在picture控件中,picture类render之后没结果 科举制长期存在原因析论 为什么使用activex控件时会出现内存不可读这样的错误,请大家进来帮忙!!! 庆祝在VC版升4个角,散分100,不知会不会被人看不起?因为我只能散100。。 在com函数中传另一个com指针 一个关于函数返回指针的问题!· 还是流量统计 为什么我的程序中不能用全局函数::AnimateWindow? 关于CPaintDC的问题 循环给变量赋值问题求教 从IDE中打开当前工程目录的快捷键是什么 为无LIB的DLL制作LIB函数符号输入库(提问)
这里,指针被强转为((UCHAR *)后,接上数组下标,是指这个是一个数组指针吗?
pDest被强制转换成UCHAR *指针后,通过数组下标来访问
UCHAR *puc = (UCHAR *)pDest;
puc[len - 1 - bit/8] |= (UCHAR)(1UL<<(bit % 8)));这么写你就明白了吧?