void(*p)()

  • void(*p)()是一个指向函数的指针,表示一个指向函数入口的指针变量,该函数的返回类型是void类型。

void *p()

  • void *p()是一个指针型函数,它的函数名为p,范围了一个指针,因为是void,这个指针没有定义类型,所以返回的是一个通用型指针。

void指针

  • void 指针是一种特殊的指针,表示为“无类型指针”。 由于 void 指针没有特定的类型,因此它可以指向任何类型的数据。
  • 比如
void *p1;
int *p2;
p1 = p2;

将 void 指针赋给其他类型的指针,通常也是要强转的。
因为“空类型”可以包容“有类型”,而“有类型”则不能包容“空类型”

void *p1;
int *p2;
p2 =(int*)p1;

对于 void 指针,编译器并不知道所指对象的大小,所以对 void 指针进行算术操作都是不合法的。

void * p;
p++;      // ANSI:错误
p

void (*p)() 、 void *p()和void指针的区别相关推荐

  1. 【c++】4.std::shared_ptr、std::make_shared、 .get() 、.data()、void *p 的用法、裸指针

    std::shared_ptr.std::make_shared. .get() ..data().void *p 的用法.裸指针 (1)shared_ptr能够记录对象被引用的次数,主要被用来管理动 ...

  2. typedef int(init_fnc_t) (void) 和 typedef int(*init_fnc_t) (void)函数类型和函数指针的区别

    转载请注明原地址:http://blog.csdn.net/oyhb_1992/article/details/76975284 typedef int(init_fnc_t) (void)和 typ ...

  3. ((void *) 0)的含义和void的一些细节

    一.在c语言中,0是一个特殊的值,它可以表示:整型数值0,空字符,逻辑假(false).表示的东西多了,有时候不好判断.尤其是空字符和数字0之间. 为了明确的指出,0是空字符的含义,用用到了: ((v ...

  4. 符号(void *)何解?符号(void **)又何解??

    符号(void *)何解?符号(void **)又何解?? http://bbs.csdn.net/topics/70050852 对于多级指针或者数组,要掌握正确的识别方法: void*  是说:  ...

  5. c 语言void函数用法,c语言void的用法

    许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.下面小编就跟大家介绍下c语言void的用法. c语言void的用法1.void的含义 void的字面意思是 ...

  6. c语言status和void,C语言中的void和void *详解

    1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧. ...

  7. java mock void_如何使用Mockito模拟void方法 - How to mock void methods with Mockito

    问题: How to mock methods with void return type? 如何用void返回类型模拟方法? I implemented an observer pattern bu ...

  8. 无法解析的外部符号 “public: static void __cdecl std::_String_base::_Xran(void)“

    无法解析的外部符号 "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_bas ...

  9. char[]数组与char *指针的区别

    char[]数组与char *指针的区别 问题描述 虽然很久之前有看过关于char指针和char数组的区别,但是当时没有系统的整理,到现在频繁遇到,在string,char[], char *中迷失了 ...

  10. 引用和指针的区别?传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?

    引用和指针的区别 (1) 引用在创建的同时必须初始化,即引用到一个有效的对象:而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值. (2) 不存在NULL引用,引用必须与合法的存储单元关联 ...

最新文章

  1. echart x轴标签偏移_移动端H5页面滑动手势X轴实例
  2. 您遵循过这些Jenkins优秀实践吗?
  3. init-connect mysql_MySQL利用init-connect增加访问审计功能异常
  4. (详细全面)softmax和log_softmax的联系和区别,NLLLOSS和CrossEntropyLoss的联系和区别
  5. Javascript变量的注意要点
  6. IE浏览器加载CSS文件,但是不起作用的原因
  7. Mac系统安装和配置tomcat步骤详解
  8. ZooKeeper -- API文档
  9. js生成批次号_一文知晓MES系统中的批次管控功能
  10. 使用grafana4的alert功能
  11. Python_命名空间和作用域_25
  12. 油猴脚本开发及发布流程
  13. Linux系统字体下载
  14. 发工资条软件如何使用?
  15. SNMP:简单网络管理协议(一)
  16. 星舆科技北斗高精度定位网启动北斗三号服务
  17. 树莓派I2C通过Shell操作FDC2214
  18. php 在线调用音乐播放器,使用HTML5实现网页音乐播放器
  19. 都说ApiPost香,它到底香在哪里?
  20. 弘辽科技:如何做好淘宝店铺推广?有什么技巧吗?

热门文章

  1. 学习笔记----网络编程
  2. 存在隐患 : 3 racks are required for the erasure coding policies: RS-6-3-1024k. The number of racks is on
  3. VC中free()函数调试错误原因
  4. 【心脏线】用Labview画一个心给你的女朋友
  5. Java 实现 Date日期+1天
  6. 《末代皇帝》原声音乐《where is armo?》
  7. 机器学习|如何使用Spark 开发Java电子邮件垃圾分类应用程序?
  8. 里海初步了解--水位上升之谜
  9. Glide源码学习三:into()详解
  10. GCMS一体化检测法实验