文章目录

  • void 关键字
  • void指针的作用
    • 使用方式
    • void指针与函数

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);
}

C语言中的void和void指针-void*相关推荐

  1. C语言-函数指针void(*)(void),通用函数指针void(*)()

    一.开始 在阅读代码的时候看到有一段代码,令人有点懵. static void __near VECTOR_TABLE_04H(void){((void(*)(void))(*(__far unsig ...

  2. C语言中malloc为字符型指针分配内存引起的缓冲区泄露

    /* 问题描述; 缓冲区溢出: (1)malloc:分配一块连续的未被使用得当内存块,但是不能保证内存块临近的其他内存块也未被使用: (2)当用malloc未char类型指针分配一个字节长度内存时,但 ...

  3. c语言中buf内容怎么给指针,C语言 指针的使用

    C语言 指针 当使用变量时出现长度不定,譬如在串口通信中,有些通信协议是不定长的,那么这个就应该使用指针:如果使用数组的话,会有下面这两个小问题, 要将数组的大小要定的比较大,已保证能够容纳最大的指令 ...

  4. 【C语言进阶深度学习记录】八 C语言中void的分析

    文章目录 1 void的意义 1.1 不存在void变量 1.2 C标准 1.3 void指针的意义 1.4 通过void* 实现memset函数 2 总结 1 void的意义 void修饰函数的参数 ...

  5. 【二级指针--定义、初始化赋值、解引用;特殊指针--空指针、void类型的指针】(学习笔记12--指针下)

    目录 一.二级指针 指针的指针 二级指针的定义 二级指针的初始化与赋值 二级指针的解引用 二级指针与指针数组 main函数的参数 二.特殊指针 空指针 void类型的指针 新星计划第六篇博文,下面是上 ...

  6. c语言中什么是指针初始化,C语言中的“char指针初始化”是什么意思?

    满意答案 gqtywh 推荐于 2019.10.06 采纳率:53%    等级:8 已帮助:60人 char 指针,也就是char *类型. 其初始化本质上与其它变量初始化没有什么区别,就是赋予其一 ...

  7. c语言中cnthe普通变量,不得不说,关于 *(unsigned long *) 和 (unsigned long)

    @辛昕: 然而我很悲伤地再次郑重声明:我木有错!具体请看我回复 水果君 那难得一见的长回帖的回帖!!这事情居然还可以从遥远的 2月2号 刚下班放假那天开始.那天,水群里,水果君弄了个帖子,说让我去回, ...

  8. C语言中的‘\0’、0、‘0’和NULL辨析

    C语言学习笔记(1) 文章目录 C语言学习笔记(1) 前言 一.\0是什么? 二.与NULL.'0'.0的区别 1.与NULL的区别 2.与'0'和0的区别 总结 前言 本文记录在学习过程中,遇到的关 ...

  9. C语言字符意思 char,c语言中char* 代表什么

    1 c语言中,char* 代表 字符指针类型,当其指向一个字符串的第一个元素时,它就可以代表这个字符串了 2 示例 #include int main(){ char* str = "lea ...

  10. c语言中void指针,C 语言 void指针

    C 语言 void指针 到目前为止,我们已经研究了分配给指针的地址应该与指针声明中指定的类型相同. 例如,如果我们声明了int指针,则此int指针不能指向float变量或某种其他类型的变量,即它只能指 ...

最新文章

  1. inno setup插件可选安装代码_代码检测工具(sonar docker方式安装)
  2. python图表交互控件_用djang中的交互式控件制作bokeh图表
  3. (仿头条APP项目)4.父类BaseFragment创建,用retrofit和gson获取并解析服务器端数据
  4. 【干货】如何确定需求优先级,如何确定功能优先级
  5. python replace函数 成功 失败_请教下调用python string模块的replace方法出错的原因
  6. C++面试知识点汇总
  7. Hadoop HBase概念学习系列之HBase的Shell(步骤非常清晰)(二十四)
  8. HTML文档包应含几个基本标记,HTML基本结与常用标记.doc
  9. 关于电脑程序员职务 用英语怎么表达
  10. Excel-单纯形法(大M法)求解 直接求解与规划求解功能
  11. 提权学习:提权拿服务器方法总结-超细(补充节点0x02)
  12. 2014年上半年系统集成项目管理工程师真题解析(上午+下午)
  13. 解除宝塔面板强制绑定手机号教程
  14. 第五章-----Java数组及排序
  15. implicit declaration of function —— 函数隐式声明 警告
  16. 数据分析之实战项目——电商用户行为分析【python】
  17. 2023浙江工商大学计算机考研信息汇总
  18. UI设计师常用什么工具 怎么用AE导出GIF动画
  19. ernel 3.10内核源码分析--KVM相关--虚拟机运行
  20. 分布式服务器框架之Server.Core库中实现 XXTEA分组加密算法

热门文章

  1. windows Apache 的安装和配置教程
  2. bitset和bitget
  3. Java高级工程师常见面试题
  4. SVG/CSS路径动画
  5. 详细理解HashMap数据结构,太齐全了!
  6. rouge 摘要评估_ROUGE简介,以及如何使用它评估摘要
  7. request与response的用法
  8. 软件测试(6)----web自动化测试(selenium)
  9. 大神见地:Jeff Dean展望AI的5大趋势!
  10. RFID-MFRC522射频识别模块,S50卡M1