Chinaunix首页 | 论坛 | 博客
  • 博客访问: 919603
  • 博文数量: 84
  • 博客积分: 4334
  • 博客等级: 上校
  • 技术积分: 1610
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-27 07:49
文章分类

全部博文(84)

文章存档

2012年(5)

2011年(21)

2010年(58)

分类: C/C++

2010-11-10 19:37:39

ANSI新标准增加了一种"void"指针类型,即可定义一个指针变量,但是不指定它是指向哪一种数据类型。

char *p1;
void *p2;
.
.
.
p1=(char *)p2;//p2指针本来是void类型,可用这条语句对其强制转换,将其转换成char类型


同样,可以用(void *)p1将p1的值转换成void *类型:

p2 = (void *)p1;//将p1转换成void类型指针


也可以将一个函数定义成void *类型,如:void *fun(char ch1,char ch2);表示该函数返回值是一个地址,它指向“空类型”,如果需要引用这个地址,根据需要对其进行转换:比如需要将这个函数的返回值(地址)转换成字符型,可以这样:

p1 = (char *)fun(char ch1,char ch2)


阅读(1644) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~