在C++中,void表示为无类型,主要有三个用途:

(1)函数的 返回值用void,表示函数没有返回值。

void func(int a, int b)
{
//函数体代码
return;
}

(2)函数的参数填void,表示函数不需要参数(或者让参数列表空着)。

int func(void)
{
//函数体
return 0;
}

(3)函数的形参用void*,表示接受任意数据类型的指针。

注意:

  • 不能用void声明变量,它不能代表一个真实的变量,但是,用void*可以。
  • 不能对void*指针直接解引用(需要转换成其它类型的指针)。
  • 把其它类型的指针赋值给void*指针不需要转换。
  • 把void*指针赋值给其它类型的指针需要转换。
#include <iostream>
using namespace std; //只关心地址本身,不关心里面的内容,用void*可以存放任意类型的地址 //显示变量的十六进制地址的函数:varname-变量名,p-变量的地址
void func(string varname,void* p)
{
cout<<varname<<"的地址是:"<<p<<endl;
cout<<varname<<"的值是:"<<*(char*)p<<endl;
} int main()
{
int a = 89;
char b = 'X';
cout<<"a的地址是:"<<&a<<endl;
cout<<"b的地址是:"<<&b<<endl; func("a",&a);
func("b",&b);
}

void关键字的更多相关文章

  1. js的delete和void关键字

    delete关键字   delete关键字的作用: 删除对象的属性 语法:delete 对象.属性 可以删除没有使用var关键字声明的全局变量(直接定义在window上面的属性) delete关键字的 ...

  2. C语言void关键字的深刻含义

    C语言void关键字的深刻含义 .概述 本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. .void的含义 void的字面意思是“无类型”,void *则为 ...

  3. C语言学习笔记--void关键字

    1.C语言中Void关键字的含义 void 修饰函数返回值和参数——为了表示“无”,如果函数没有返回值,那么应该将其声明为 void,同样的,如果函数没有参数,也应该声明其参数为 void //f() ...

  4. Python 为什么没有 void 关键字?

    void 是编程语言中最常见的关键字之一,从字面上理解,它是"空的.空集.空白"的意思,最常用于 表示函数的一种返回值类型. 维基百科上有一个定义: The void type, ...

  5. void 关键字

    1. void 的字面意思为“无类型”,void*为“无类型指针”,void*可以指向任何类型的数据 2 用于数据类型封装,典型的如内存操作函数 memcpy 和 memset 的函数原型分别为: v ...

  6. 陈正冲老师讲c语言void关键字

    1. void a void的字面意思是“空类型”,void *则为“空类型指针”,void *可以指向任何类型的数据. void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量 ...

  7. 基本的数据类型 void关键字 都存在类类型

  8. 深刻理解void,void*和sizeof关键字

    void的字面值是“无类型”,void*则是"无类型指针".void*可以指向任何类型的数据.void几乎只有"注释"和限制程序的作用,因为从来没有人会定义一个 ...

  9. 常用C#关键字详解教程

    很多在学习网站后台的同学都对C#的关键字有些摸不到头脑,现在就和大家一起学习一下这些关键字的含义 类型 Void 用作方法的返回类型时,void 关键字指定方法不返回值. 在方法的参数列表中不允许使用 ...

  10. JAVA关键字与保留字说明及使用

    1.abstract 2.boolean 3.break 4.byte 5.case 6.catch 7.char 8.class 9.continue 10.default 11.do 12.dou ...

随机推荐

  1. 存储SAN

    存储技术介绍 DAS (direct attached storage)  直接连接存储--块级 SAN(storage area network)   存储区域网络--块级 NAS(network ...

  2. MFC学习记录2

    一.建立基于对话框工程,改变UI对象 1.改变菜单.工具栏 在资源栏中编辑菜单.工具栏,注意ID 编辑ID [Pen/Thick Line] ID : ID_PEN_THICK_OR_THIN pro ...

  3. iframe 嵌套别的系统不显示,父窗口不响应

    显示不全,没有登录界面,检查了代码渲染了,只是display:none :换了网址 ,别的都可以,只有这个不行 搜索 复制

  4. vs2013如何添加扩展库函数

    本文仅针对C和C++ vs2013下载C/C++编译器后,能够包含常见的头文件,stdlib.h,stdio.h,math.h这些.如果有其他需求例如:调用GL/glfw32.h,freeglut.h ...

  5. python基础篇 12-函数+文件读写+json练习作业

    需求: 写一个管理商品的程序,商品文件格式在a.json里面 提供商品的增删改查功能 choice = input('请输入你的选择:1.查看商品 2.新增商品 3.修改商品 4.删除商品') #1. ...

  6. Vue3注册全局组件

    1. Vue3全局组件注册 components文件夹下新建index.js文件,统一引入需要注册的组件 import CustomCheck from "./CustomCheck.vue ...

  7. Vue RSA加密

    1. 安装jsencrypt npm install jsencrypt 2. 引入jsencrypt // 全局引入 import JSEncrypt from "jsencrypt&qu ...

  8. 【Leetcode第285场周赛】——周赛总结

    1.6027. 统计数组中峰和谷的数量 - 力扣(LeetCode) (leetcode-cn.com) 给你一个下标从 0 开始的整数数组 nums .如果两侧距 i 最近的不相等邻居的值均小于 n ...

  9. C#——》创建Windows服务,发布并调试Windows服务

    一,创建一个windows服务项目.  二,双击Service1.cs进入设计界面,在空白处右键单击选择添加安装程序,如下图所示. 三,添加安装程序后,会进入如下图界面,生成两个组件:serviceP ...

  10. 2022/7/28 第七组陈美娜 API类

    API:Application Program Interface应用程序接口 JDK给我们提供的一些已经写好的类,可以直接调方法来解决问题 类的方法在宏观上都可以称为接口 接口:1.interfac ...