社区
C语言
帖子详情
谁可以解释一下这句的含义?有什么用呀!
compboy1
2004-05-06 07:12:56
#define USE_VOID(x) (void *)x = (void *)x
...全文
86
16
打赏
收藏
谁可以解释一下这句的含义?有什么用呀!
#define USE_VOID(x) (void *)x = (void *)x
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
compboy1
2004-05-08
打赏
举报
回复
如果我要接收非void类型的参数,是不是也可以呢?
compboy1
2004-05-08
打赏
举报
回复
我再不从一句, pio 是接收输入的参数, 它由在命令行输入的到。
代码没有错误, 我是原版拷贝过来的。
我想这里是不是跟void类型转换有关呀?
jp311
2004-05-07
打赏
举报
回复
void *类型指针可以指向任何类型对象
海阔天空的创业与创作
2004-05-07
打赏
举报
回复
楼主,你大概写错了!
: jiangpeng(JP)
其它类型指针是void*指针,可以隐式转换;
void*指针不是其他类型指针,必须显式转换;
我说得对吗?
null2002
2004-05-07
打赏
举报
回复
是否是代码写错了?
这样看像是想把x转换成void类型。
brtjiba
2004-05-07
打赏
举报
回复
compboy1(程员)
哈哈!我也觉得像是脱了裤子放屁
congliu
2004-05-06
打赏
举报
回复
up
compboy1
2004-05-06
打赏
举报
回复
这么做算不算脱了裤子放p呀?
junnyfeng
2004-05-06
打赏
举报
回复
void * 可以转成任何指针类型,其他类型转void *是不行的吧
freefalcon
2004-05-06
打赏
举报
回复
对于
#define USE_VOID(x) (void *)x = (void *)x
int main()
{
int* p;
USE_VOID(p);
return 0;
}
我在VC下编译通不过,在Dev-Cpp下可以
其目的还是不太清楚
在
cngdzhang
2004-05-06
打赏
举报
回复
#define USE_VOID(x) (void *)x = (void *)x
改为
#define USE_VOID(x) *(void *)&x = (void *)x
就可以了
jp311
2004-05-06
打赏
举报
回复
我用GCC编译,即使是int *也不会报错呀。
USE_VOID只要传指针进去就是对地,没有问题呀,因为任何类型的指针都可以转换成void *呀
compboy1
2004-05-06
打赏
举报
回复
我好像明白了……!!
freefalcon
2004-05-06
打赏
举报
回复
这个写法有点意思
#define USE_VOID(x) (void *)x = (void *)x
如果说是强制转换的话,那=左边的写法就不正常
我做了下测试
void* p;
USE_VOID(p); 通过编译
int* p;
USE_VOID(p); //通不过编译
这么看,难道是为了判断一个变量是否是void*型的?
但它为什么用在函数最后呢,而且整个函数也没有用到pio
看其他朋友有没有别的看法
compboy1
2004-05-06
打赏
举报
回复
ll_printf(void * pio, char * format, ...)
{
va_list a;
char buf[256];
va_start(a,format);
vsprintf(buf,format,a);
va_end(a);
printf(linebuf);
USE_VOID(pio);/////////////////here????
return strlen(buf);
}
freefalcon
2004-05-06
打赏
举报
回复
不太清楚,你可以给出这个宏的使用代码吗
正则表达式
在这个例子中,我们成功匹配到了文本中的 "100",而不是整个 "100 dollars"。在这个例子中,我们成功匹配到了文本中的 "100",而不包括 "$" 这个符号。要求匹配的数字前面不能紧跟着美元符号"$",因此它会匹配到文本中的 "100",因为 "100" 前面并没有美元符号。这样,如果字符串中包含 "apple" 或 "orange" 中的任意一项,正则表达式就会匹配成功。如果找到了匹配,就会返回一个匹配对象;这个表达式表示匹配以 "a"、"b" 或 "c" 开头,后跟一个数字的字符串。
格式化输出什么意思? 格式化输入什么意思?几句话解释清楚!
几句话解释清楚,很多初学者被这些术语搞得迷迷糊糊。格式化输出什么意思?格式化输出什么意思?
香农公式说明了什么_香农定理到底有什么
含义
?能通俗地
解释一下
么?
香农定理是信息论的主要内容。香农定理实际上是多个定理构成,国内似乎比较常用“香农三定理”的提法,而在国外资料很少这么提.信息论和香农定理信息论研究信息的量化,存储和传播。最初由克劳德·香农于1948年提出,他在具有里程碑意义的题为《通讯的数学原理》的论文中阐述了信号处理和通信操作(如数据压缩)的基本限制。信息论的基本的应用主题包括无损数据压缩(例如ZIP文件),有损数据压缩(例如MP3和JPEG)...
Linux中#!表示什么意思?
文章目录1.#!2.#!/usr/bin/python3和#!/usr/bin/env python3的区别:3.在终端中指定解释器和用#!指定(1)终端中(2)用#!指定(3)优先级Reference 1.#! 【用途】:用于“指定由哪个解释器来执行脚本” 。 在Unix中,凡是被#!注释的,统统是加载器(解释器)的路径。比如:#!/bin/bash(中间没有空格)的意思是说把下面的字符统统传递给/bin/bash解释器。 【常见】: #!/bin/lua #!/bin/perl #!/bin/pyt
约束里“:=”和“:/”傻傻分不清楚?今天彻底弄清!
在SystemVerilog约束之中,有两个点常常让初学者混淆搞不清楚,或者当时记住了后面不用又忘了。今天jerry就专门来侃侃这两个点,让初学者们想忘也忘不了,全部拿下! 这两个点就是权重分布的两种写法“:=”和“:/”。 如下面这段代码,这jerry_face_score和tom_face_score两个变量约束都应该是多少呢? 对于初学者是不是有点晕?这两个“:=”“:/”什么区别呢?到底左边是权重还是右边是权重呢?大家思考一会,可以看下如下解释这段代码什么
含义
,我们的思考流程是这样的: 首先大家一
C语言
70,024
社区成员
243,253
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章