对void 类型的认识

void类型即空类型。

void常见用法

1.void作为函数返回值类型,表示该函数返回值为空没有任何返回值。

2.函数形参列表只写一个void,表示该函数没有参数 例如

void Test(void){
cout<<"Hello world"<<endl;
}

void*指针类型

如何理解void*?

void*指针类型我们不能理解为能指向任何的类型的数据,我们应理解为指向空类型或者指向不确定的类型的数据。

void*再将他的值赋给另一个指针变量时由系统对它进行类型转换,使之适合于被赋值的变量的类型。

例如:

int main(){int a=97;char b = (char)a;int* p1;void* p2;char *p3;p1 = &a;p2 = (void*)p1;p3 = (char*)p2;cout << *p3 << endl << b << endl;;system("pause");return 0;
}

上面代码中,void*指针p2就起到了一个中间值的作用。

void*作为函数返回值类型

void*作为函数返回值时能够接收任意类型的指针

void* Test(int *p)
{cout << "nihao!" << endl;return p;
}

但是我们不能直接读取返回值中的数据,它在程序中具有过渡性,只有转化为有指向的地址 才能存取数据。

一般情况下,作为程序员,我们都不会采用void*作为函数返回值,一般只有库里的函数会这么写。比如malloc ,库函数的开发者根本不知道用户在使用malloc开辟空间的时候,要把空间当何种类型来使用。最后没有办法了才返回void*。

对C/C++中的void与 void*认识相关推荐

  1. C/C++中的函数中的void和void* 理解

    C/C++中的void和void* 一.void void关键字表示"空类型"的概念.但是,这里的"空类型"不表示"任意类型",而是表示不存 ...

  2. 面试官:说说Java中java.lang.Void和void有什么作用和区别?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入皮皮专属交流群 来源:http://suo.im/5p28k2 void关 ...

  3. C++中void和void*指针的含义 (指针类型的含义)

    转载自:http://blog.csdn.net/lee_shuai 指针有两个属性:指向变量/对象的地址和长度,但是指针只存储地址,长度则取决于指针的类型:编译器根据指针的类型从指针指向的地址向后寻 ...

  4. C/C++中的void 和 void *

    C/C++中的void 和 void * void的含义.作用 void 即"空类型",不表示"任意类型". void 的作用 1)对函数返回的限定:函数不需要 ...

  5. 浅谈c/c++中main(),int main(),void main(),int main(void)四者之间的区别

    一.主函数也是函数 首先我们要了解C/C++中函数的定义,因为main函数也是函数,与其他函数的区别只是主函数是程序的主线而已,程序从它开始也在其中结束.一个函数由函数名.其前的类型标识符.其后小括号 ...

  6. C/C++语言void及void指针深层探索。C中void是什么意思? 为什么有时可用可不用?

    C/C++语言void及void指针深层探索.C中void是什么意思? 为什么有时可用可不用? 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误. ...

  7. C++中的空指针和void * 指针

    空指针(null pointer) 空指针不指向任何对象,在使用一个指针前首先要判断是否为空. 用法: int *ptr1=nullptr; //等价于int *ptr1=0; int *ptr2=0 ...

  8. objective-c中 -(void)和+(void) 业精于勤荒于嬉,行成于思毁于随

    -(void)是实例方法,只有定义了这个类的实例,才能用实例调用这个方法. +(void)是类方法,用类名可以直接调用这个方法. 例如: @interface ClassName - (void)pr ...

  9. typedef interrupt void (*PINT)(void)的分析

    今天写程序时,在DSP2833x_PieVect.h看到typedef interrupt void (*PINT)(void)突然一愣,上网查了下发现在这是加了interrupt 中断关键字的函数指 ...

最新文章

  1. 智能车竞赛技术报告 | 单车拉力组 - 沈阳航空航天大学 - 青梅绿茶队
  2. [0] 各类图形的数据大小获得
  3. PHP的isset()和empty()比较
  4. 算法训练 猴子分苹果c语言,算法训练 猴子分苹果
  5. ZBarSDK扫描二维码
  6. 职场中什么样的员工最易发展?
  7. Linux编程考前测试题
  8. 理论基础 —— 索引 —— 分块索引
  9. 如何启动MongoDB数据库 - 基础篇
  10. 1321. Robot
  11. 【Flink】FLink 提交报错 instead of minReplication (=1). There are 3 datanode(s) running and 3 node(s) are
  12. Google 又又又要“重回中国”了?
  13. matlab怎么对图片mesh,MATLAB提供了mesh函数和surf函数来绘制三维曲面图。
  14. 西门子STEP7-200PLC的顺序控制编程
  15. linux用ping命令测试网速,怎么用ping命令测试网速
  16. 2019 计蒜之道 初赛 第一场 商汤的AI伴游小精灵
  17. 主题和母版页(母版页)
  18. Redis记录:Invalid argument during startup: Failed to open the .conf file
  19. 项目干系人管理-知识领域
  20. Nginx最新教程通俗易懂

热门文章

  1. 码农的半衰期只有15年?
  2. clickHouse分区和分片详解
  3. C++课程基础语法小结
  4. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.9 TIM---输入捕获(脉冲频率测量)实验
  5. shell 语句出错自动退出
  6. vw 前端_理解前端尺寸vw、vh、rem、em
  7. 《先进PID控制 MATLAB仿真 第2版 刘金琨等编》【shallow】
  8. 教你如何还原本地IP
  9. 聚类分析:原型K-Means/K-Means++聚类、层次聚类;密度聚类DBSCAN
  10. 编程珠玑——取样总结