找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2677|回复: 0
打印 上一主题 下一主题
收起左侧

void *用法

[复制链接]
跳转到指定楼层
楼主
ID:102668 发表于 2016-1-16 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                        void *从本质上讲是一种指针的类型,就像 (char *)、(int *)类型一样.但是其又具有
特殊性,它可以存放其他任何类型的指针类型:例如:
                  char *array="I am the pointer of string";
                  void *temp;        //temp可以存放其他任何类型的指针(地址)
                  temp=array;          // temp 的指针类型
                  cout<<array<<endl;
                  cout<<temp<<endl;
                  cout<<(char*)temp<<endl;
运行结果:
                 I am the pointer of string
                 0x0042510C (这个值就是array指针变量所存储的值)
                 I am the pointer of string

2.但是不能将void *类型的值赋给其他既定的类型 ,除非 经过显示转换:
                       例如:
                                int a=20;
                                int * pr=&a;
                                 void *p;
                                 pr=p      //error,不能将空的类型赋给int *
                                 pr=(int *)p;  //ok,经过转换


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表