void指针

本文详细探讨了C++中void指针的特性,包括它可以指向任意数据类型、转换过程的注意事项、不可间接引用以及其在函数调用中的应用。通过实例分析,阐述了void指针在实际编程中的作用与潜在风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.void指针可以指向任意数据类型,即任意数据类型的指针都可以赋值给void指针;void要转换为其他类型的指针的话就要进行强制转换,并且这个转换过程是很容易出现问题的,要谨慎使用;


2.void指针是不可以间接引用的,下来代码不能通过编译:

#include <iostream>
using namespace std;

void main()
{
	int value = 10;
	void *p = & value;
	int *ip = (int*)p;
	cout << *p << endl;
}
从第一点可以知道void可以指向任意数据类型,那么编译器单纯的根据void这个信息是没有办法确定这个指针到底指向了多少内存空间的,所以也就不能进行*p输出了。

3.void设计的初衷是给函数使用的,函数无返回值则使用void,函数的参数可以是任意数据类型的话,则使用void。

4.不能用void去定义变量,即代码

void v;
是非法的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值