标题:请教void*指针怎么用?
只看楼主
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:0 
不正确 void*的指针不能做解引用操作
想下面这样写是对的
程序代码:
int c = 1;
int *b=&c;  //1直接初始化指针变量 表示指向地址为1的内存
*(int*)a=*b;  //无类型质指针使用前需要转换为具体类型
printf("a=%d\n", *(int*)a);

人生是一场错过 愿你别蹉跎
2013-04-07 21:13
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:0 
回复 10楼 小贝01
当然是需要有意义的转换
char *a = "Hello world!";
void *b = a;
printf("%s", (char*)b);

你要是乱转 比如
printf("%d", (int*)b);
当然就会出错啦

人生是一场错过 愿你别蹉跎
2013-04-07 21:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-403123-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042599 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved