|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ void *rBuffer和
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1395
人关注过本帖
标题:
void *rBuffer和
只看楼主
加入收藏
zz4611100
等 级:
新手上路
帖 子:2
专家分:0
注 册:2021-8-5
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:6
void *rBuffer和
BOOL APIENTRY getPrintIDStatus( WORD pageID, void *rBuffer, WORD *rResult )
请问这个
void *rBuffer是什么意思
搜索更多相关主题的帖子:
BOOL
WORD
void
2021-08-05 16:43
举报帖子
使用道具
赠送鲜花
zz4611100
等 级:
新手上路
帖 子:2
专家分:0
注 册:2021-8-5
第
2
楼
收藏
得分:0
还有*(WORD*)&bstatus[0]
麻烦各位大佬解答了
2021-08-05 16:44
举报帖子
使用道具
赠送鲜花
纯蓝之刃
等 级:
贵宾
威 望:
76
帖 子:569
专家分:3707
注 册:2019-7-29
第
3
楼
收藏
得分:4
*(WORD*)&bstatus[0]
一般会定义 char bstatus[20];
取bstatus[0]的地址,并强制转化为WORD*指针,然后取该WORD*指针指向的内容,也就是两个字节长度的内容,就是bstatus[0],bstatus[1]的内容。
void *rBuffe
void *可以接收到的指针类型为任意指针,在具体使用时在转化为需要的指针类型,例如char*,int*。
一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2021-08-05 19:38
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9024
专家分:54030
注 册:2011-1-18
第
4
楼
收藏
得分:4
*(WORD*)&bstatus[0]
这是一种错误用法,违反了“类型别名使用规则”。
在C中,应该使用 memcpy;在C++中,可以使用 std::bit_cast。
“类型别名使用规则”比较复杂,
C语言参见 https://zh.
C++语言参见 https://zh. 中间的“类型别名化”那一段描述
2021-08-06 08:41
举报帖子
使用道具
赠送鲜花
我善治鬼
等 级:
贵宾
威 望:
17
帖 子:107
专家分:181
注 册:2015-2-16
第
5
楼
收藏
得分:4
我来说一下这里的错误
BOOL APIENTRY getPrintIDStatus( WORD pageID, void *rBuffer, WORD *rResult )
void *rBuffer, WORD *rResult
这两个参数没有定义输出或输入说明符, 不知到底是输出还是输入
void *rBuffer 这个没有类型定义, 不知道到底是什么格式
*(WORD*)&bstatus[0]
这个既然需要强制转换类型了, 为什么不直接定义为WORD类型
2021-08-06 09:06
举报帖子
使用道具
赠送鲜花
diycai
等 级:
贵宾
威 望:
19
帖 子:147
专家分:895
注 册:2021-5-18
第
6
楼
收藏
得分:4
void *rBuffer 意思是你可以传入任何类型的指针。 void *用在函数参数中,可以使调用者很舒服。 比如memcpy函数, 你可以copy任意不同类型的两个指针指向的数据,而不用在传参时强制转换为固定的类型。
*(WORD*)&bstatus[0] 其实写成 *(WORD*)bstatus 更直观。
2021-08-06 11:12
举报帖子
使用道具
赠送鲜花
星泪成寒
等 级:
黑侠
威 望:
6
帖 子:77
专家分:549
注 册:2013-5-19
第
7
楼
收藏
得分:4
一个关于C语言声明的网站 https://
2021-08-06 14:57
举报帖子
使用道具
赠送鲜花
自由而无用
等 级:
贵宾
威 望:
14
帖 子:61
专家分:1456
注 册:2021-8-9
第
8
楼
收藏
得分:4
void *rBuffer stream buffer for reading interface
uint8_t *buffer = (uint8_t *)rBuffer;
*(WORD*)&bstatus[0];
eg &bstatus[0] = 0x12ff9c; uint16_t *p = (uint16_t *)0x12ff9c;
int do_sth(uint16_t *array); do_sth(p);
2021-08-09 17:08
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
void *rBuffer和
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.049590 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved