C 语言 void 完全用法

void 是 C 语言里 **"空 / 无"** 的意思,核心就 3 个用法:无返回值、无参数、空指针,非常简单。

我用最通俗的方式给你讲清楚,附带能直接运行的例子。


1. 函数没有返回值 → void

当一个函数不需要返回任何数据 时,返回类型写 void

例子:打印函数,不需要返回值

复制代码
#include <stdio.h>

// 无返回值 → 必须写 void
void sayHello() {
    printf("Hello!\n");
    // 这里不用 return
}

int main() {
    sayHello();
    return 0;
}

注意

  • void → 函数里不能写 return 数值
  • 想提前退出可以写 return;(不带值)

2. 函数没有参数 → (void)

表示这个函数不接收任何参数 ,比空括号 () 更规范。

复制代码
// 明确表示:无参数
void func(void) {
    printf("我没有参数\n");
}

为什么要用 void

  • func() 在 C 语言旧标准里 = 参数不确定
  • func(void) = 明确没有参数(更安全、规范)

3. 万能空指针 → void*

这是 void 最强大的用法:void* 是可以指向 任意类型数据的指针(int、char、数组、结构体都行)。

例子:void* 指向不同类型

复制代码
#include <stdio.h>

int main() {
    int a = 10;
    char c = 'A';
    
    void* p;  // 空指针
    
    p = &a;   // 指向 int
    printf("%d\n", *(int*)p);  // 要强转才能取值
    
    p = &c;   // 指向 char
    printf("%c\n", *(char*)p);
    
    return 0;
}

规则

  • void* 可以存任何地址
  • 取值时必须强转(int*)p(char*)p

4. 常见错误(新手必看)

❌ 错误 1:void 变量

复制代码
void a;  // 错误!void 没有大小,不能定义变量

❌ 错误 2:void 函数返回值

复制代码
void func() {
    return 10;  // 错误!void 不能返回数值
}

❌ 错误 3:直接使用 void* 取值

复制代码
void* p = &a;
printf("%d", *p);  // 错误!必须强转


总结

  • void = 空、无
  • 函数不返回值 → 用 void
  • 函数无参数 → 用 (void)
  • void* = 万能指针,能存任意地址
相关推荐
会Tk矩阵群控的小木1 小时前
基于Python的iMessage短信群发与社媒多账号统一管理系统实现
开发语言·windows·python·新媒体运营·开源软件·个人开发
我是一颗柠檬1 小时前
【Java项目技术亮点】分库分表+数据路由策略:单表5000万后的架构升级方案
java·开发语言·分布式·架构
wu_ye_m1 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
njsgcs2 小时前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks
小林敲代码77882 小时前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
njsgcs2 小时前
c# solidworks 工程图获得展开视图不在固定面螺纹特征的位置
开发语言·c#·solidworks
qq_8573058192 小时前
python语法
开发语言·python·算法
AI行业学习3 小时前
CC-Switch v3.16.1 官方下载 | 安装配置详细教程【2026.6.10】
java·开发语言·vue.js·python·mysql·eclipse·html
周杰伦的稻香3 小时前
Go + Redis:本地部署高性能图片主色调提取服务
开发语言·redis·golang