void和void *

本文详细介绍了C/C++中void和void *的用法。void表示无类型,常用于无返回值的函数和无参数的函数声明。而void *是一个通用指针,可以指向任何类型的数据,但需要类型转换才能进行解引用和算术运算。文章通过武侠世界的比喻,生动阐述了void *的特性,并给出了其在数据交换函数中的应用示例。
摘要由CSDN通过智能技术生成

一、void

void的意思是“无类型”,相对于void *来说,使用的时候比较简单,一般只在两个地方使用:

  • 当函数没有返回值时,在声明和定义函数的时候,需要使用void,例如:
// 交换两个整数,要求传入两个整数的地址,此时就不需要返回值了
void swap(int *ap, int *bp)
{
    int temp = *ap;
    *ap = *bp;
    *bp = temp;    
}
  • 当函数不接受参数时,可以使用void,当然也可以省略不写,例如:
// 使用void
int mian(void)
{
    // to do something
    ...
    return 0;
}

// 省略void
int mian()
{
    // to do something
    ...
    return 0;
}
  • 不允许在程序中定义void类型的变量
int mian()
{
    void v;  // 会出现编译错误
    return 0;
}

二、void *

可以做个比喻,在武侠世界里,如果把char *int *float *<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值