
|
作者: buszker [buszker]
论坛用户 |
登录 |
| 还烦高手举例说明! |
| 地主 发表时间: 04-08-24 18:15 |
回复: Garu [syshunter] 版主 |
登录 |
|
void不可以,但可以定义指针void *,意义如下 void fun(void *pvoid) { ............. char *pchr=(char *)pvoid; ........ } 可能你会问为什么不直接传入char *类型,那为什么malloc的原形非要是 void *malloc(unsigned)返回VOID*类型呢?明白了吧。 例如 pthread_create(...,...,(void *)函数名,(void *)参数); 你就要用到void *类型了。 也许我解释的乱 |
| B1层 发表时间: 04-08-24 19:03 |
回复: Garu [syshunter] 版主 |
登录 |
|
忘了说: 如果有 void *pvoid; char *pchar; 你可以 pchar=(char *)pvoid; 但不可以 pvoid=(void *)pchar; [此贴被 Garu(syshunter) 在 08月24日20时07分 编辑过] |
| B2层 发表时间: 04-08-24 20:06 |
回复: shitalone [shitalone] 论坛用户 |
登录 |
|
楼上解释的不错。声明void *的目的也就是为了以后能强制为任何的指针类型。 |
| B3层 发表时间: 04-08-25 10:26 |
回复: buszker [buszker] 论坛用户 |
登录 |
|
多谢二位的解释 |
| B4层 发表时间: 04-08-25 15:23 |
回复: 286 [unique] 版主 |
登录 |
|
趁机学了一招. |
| B5层 发表时间: 04-08-25 17:31 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号