实例:

#include <stdio.h>
#include <stdlib.h>
void print(void * node)
{
    printf("%d\n", *(int *)node); //加星号报错,不加不报错,但是结果不对。
                                              //必须要转换成相应类型才能对其操作
}

void main()
{
    int a = 10;
    print(&a);
    system("pause");
}

void 关键字

  • 当函数返回值为空时,可以使用void。

void empty(int a);

当函数参数列表为空时,可以使用void。

void empty(void);

void指针的作用

void指针:void *

可以用其指代任何类型的指针。

但不能用void指针直接进行操作;只能转换成对应类型指针后,才能操作

使用方式

enum Season {
  Spring, Summer = 18, Autumn, Winter
} season;
enum Season *s = &season;
void* vs = s;
//printf("vs= %d\n", vs); //error  不能直接用于操作
int* ns = (int*)vs; //转换成对应的 int型指针
printf("ns= %d\n", *ns);

void指针与函数

因其可以指代任何类型的指针。所以将void指针作为函数参数时,表示接受任意类型的指针参数

void test(void* a) {
  printf("void* --> %d\n", * (int*)a);
}
main() {
  int m = 10;
  int *p = &m;
  test(p);
}

参考自   https://blog.csdn.net/jjwwmlp456/article/details/80270446#void_41

C语言中的void和void指针-void*,及void指针做函数参数。相关推荐

  1. c/c++教程 - 1.10 结构体 使用typedef定义struct结构体 结构体数组 结构体指针 结构体嵌套 结构体做函数参数 结构体const

    十二.结构体 (1)结构体定义和使用 基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型. 参考视频:https://www.bilibili.com/video/BV1et411b ...

  2. C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例

    C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...

  3. C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用)

    C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用) 目录 C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数, ...

  4. c++结构体总结(结构体定义,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,结构体中 const使用场景)

    看完b站黑马程序员之后的借鉴和笔记 1.什么是结构体,有什么作用? 在C/C++中,结构体是用户定义的数据类型.它可以把几种不同类型的数据项集合成结构体这样一个单一类型. 2. 结构体定义和使用 #i ...

  5. C++结构体 结构体定义和使用、结构体数组、结构体指针、结构体嵌套结构体、结构体做函数参数

    C++结构体 第二章 C++结构体 1.结构体定义和使用 语法:struct 结构体名 { 结构体成员列表 }: 通过结构体创建变量的方式有三种: struct 结构体名 变量名 struct 结构体 ...

  6. 用指针做函数参数自己编程实现字符串连接函数strcat()的功能。CQUPT题库

    用指针做函数参数自己编程实现字符串连接函数strcat()的功能.CQUPT题库 下面程序中存在比较隐蔽的错误,请通过分析和调试程序,发现并改正程序中的错误. 注意:请将修改正确后的完整源程序拷贝粘贴 ...

  7. 6.指针数组做函数参数

    一维数组名也是一个地址,即指针,只不过数组名是一个常量指针,常量指针即不能修改该指针的值!所以看字符数组的赋值与字符指针的赋值就明白了! void main() {int a[5] = { 0,1,2 ...

  8. C语言 函数指针做函数参数(即回调函数)

    文章目录 函数指针做函数参数(回调函数) 回调函数概念 一般有三种调用方式 回调函数的作用 回调函数调用时刻 回调函数的语法: 1.简单的函数类型为:无参数.无返回值的函数. 2.完全形式的回调函数 ...

  9. 函数指针做函数参数 使用总结及其意义

    目录 1.函数指针 2.函数指针做函数参数 3.函数指针做函数参数在实际项目中的运用. 第一种 正向调用 第一步 Load DLL 第二步 声明函数指针类型 第三步 实现函数的调用. 完整代码如下: ...

  10. C++基础8【难】 回顾:数组指针,函数指针,函数指针做函数参数 C语言多态

    1,数组指针语法梳理 回顾,如何定义数组数据类型: 回顾,如何定义指针类型数组: 回顾,如何直接定义 一个指向数组类型的指针: 2,函数指针语法梳理 1)如何定义一个函数类型 2)如何定义一个函数指针 ...

最新文章

  1. 物联网技术与应用(第1-2课时)(cont.)
  2. 【Flutter】Hero 动画 ( Hero 动画使用流程 | 创建 Hero 动画核心组件 | 创建源页面 | 创建目的页面 | 页面跳转 )
  3. 阿里云知位停车:让车主好停、车场好管
  4. mysql设计技巧_MySQL库表设计小技巧
  5. 保姆级教程,终于搞懂脏读、幻读和不可重复读了!(经典回顾)
  6. html 使用百度搜索,百度搜索uzer,进入主页
  7. 洛谷、牛客网、AcWing 刷题(python版)
  8. 硬件基础知识---(4)电阻的核心参数
  9. SharePoint 站点出现Http 503 错误
  10. 类和对象编程(五):友元函数
  11. Java 上传附件后端接口大体流程和逻辑
  12. 存储过程(Stored Procedure)
  13. matlab能输入铁心参数,变压器铁心剩磁预测研究
  14. java 写一个quot;HelloJavaWorld你好世界quot;输出到操作系统文件Hello.txt文件中
  15. 易能变频器说明书故障代码_易能变频器故障判断与处理
  16. 什么是数据描述统计分析指标?
  17. Mysql查询历史SQL执行记录
  18. 新基建时代,5万亿市值腾讯还有大发展
  19. 流利阅读12.27 Why life expectancy in America is down again
  20. 软件设计七大设计原则

热门文章

  1. 安装docker和docker的开机启动及容器的开机自启
  2. Echo的树莓派学习笔记
  3. FastAPI 入门教程
  4. ExtractFileName、ExtractFileExt、ExtractFileDir、ExtractFilePath
  5. GBase8s数据库REFERENCES 子句
  6. TIME_WAIT和CLOSE_WAIT状态区别
  7. hadoop之MapReduce学习教程
  8. 什么是搜索引擎蜘蛛(spider)
  9. 小程序配置服务器域名不生效问题
  10. 六级(2020/12-2) Text2