void关键字
在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关键字的更多相关文章
- js的delete和void关键字
delete关键字 delete关键字的作用: 删除对象的属性 语法:delete 对象.属性 可以删除没有使用var关键字声明的全局变量(直接定义在window上面的属性) delete关键字的 ...
- C语言void关键字的深刻含义
C语言void关键字的深刻含义 .概述 本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. .void的含义 void的字面意思是“无类型”,void *则为 ...
- C语言学习笔记--void关键字
1.C语言中Void关键字的含义 void 修饰函数返回值和参数——为了表示“无”,如果函数没有返回值,那么应该将其声明为 void,同样的,如果函数没有参数,也应该声明其参数为 void //f() ...
- Python 为什么没有 void 关键字?
void 是编程语言中最常见的关键字之一,从字面上理解,它是"空的.空集.空白"的意思,最常用于 表示函数的一种返回值类型. 维基百科上有一个定义: The void type, ...
- void 关键字
1. void 的字面意思为“无类型”,void*为“无类型指针”,void*可以指向任何类型的数据 2 用于数据类型封装,典型的如内存操作函数 memcpy 和 memset 的函数原型分别为: v ...
- 陈正冲老师讲c语言void关键字
1. void a void的字面意思是“空类型”,void *则为“空类型指针”,void *可以指向任何类型的数据. void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量 ...
- 基本的数据类型 void关键字 都存在类类型
- 深刻理解void,void*和sizeof关键字
void的字面值是“无类型”,void*则是"无类型指针".void*可以指向任何类型的数据.void几乎只有"注释"和限制程序的作用,因为从来没有人会定义一个 ...
- 常用C#关键字详解教程
很多在学习网站后台的同学都对C#的关键字有些摸不到头脑,现在就和大家一起学习一下这些关键字的含义 类型 Void 用作方法的返回类型时,void 关键字指定方法不返回值. 在方法的参数列表中不允许使用 ...
- 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 ...
随机推荐
- STM32自学笔记
1位带操作 第一种位带操作 #define BITBAND_REG(Reg,Bit) (*((uint32_t volatile*)(0x42000000u + (((uint32_t)&(R ...
- servlet 500,405错误
servlet500错误 状况: 1.能打开项目,但是打开web.xml中指定的servlet url错误报错500,再次刷新出现404 出现提示: 实例化Servlet类[xxx]异常 java.l ...
- GraalVM & Spring Boot初体验
前言 这两天封在家里,一直在琢磨想去把这个博客项目改成微服务的形式.不过就目前而言我的服务器内存放好几个Java进程是吃不消的,原因在于一个独立的JVM所占用的内存资源太吃内存.不过在云原生时代,使用 ...
- 通达OA设计表单的小总结
16px下: 2010-09-09 80px 一般 100px 占5个字符 2010年09月09日 112px 一般120px 对应计算控件30px 占7个字符 2010-09-09时分秒 14 ...
- MQTT服务器搭建——Liunx安装mosquitto,并设置用户密码
一.安装 1.下载mosquitto安装包 地址:http://mosquitto.org/files/source/ 2.安装依赖包 yum install gcc gcc-c++ libstdc+ ...
- C#下解析、生成JAVA的RSA密钥、公钥
1.从 https://www.nuget.org/packages/BouncyCastle/下载对应的nupkg包,放到本地一个文件夹中 2.打开VS2010,工具->NuGet程序包管理器 ...
- python+selenium+unittest自动化测试
目前先用这个记录自动化测试相关内容,后期再进行整理: 1.自动化测试:testcase-->test suite ---> TestRunner 2.TestRunner时,一种将内容打 ...
- Dependencies 和 Libraries 的区别
Dependencies 和 Libraries 的区别 - 如何导入 jar 包 虽然现在的项目大多数人更愿意使用 Maven 等工具构建,但是在学习 Project Structure 这块的时候 ...
- Typora 基本功能
Typora 基本功能 typora 下载官网:https://www.typora.io/ "安装到C盘" 基本使用 1.该文件后缀 .md2.六级标题 :ctrl+ ...
- js计算某一天是本月的第几周
需要实现一个小需求,计算2月24号是2月的第几周: 废话不多说,直接上代码: /** * a = d = 当前日期 * b = 6 - w = 当前周的还有几天过完(不算今天) * a + b 的和在 ...