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* = 万能指针,能存任意地址
相关推荐
一壶浊酒..9 小时前
Scrape Webpack练习
开发语言·javascript·webpack
命运之光9 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光10 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人10 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
在世修行11 小时前
从零打造 C# 工业视觉检测系统(七):串口通信 SerialPort 封装与开发
开发语言·c#·modbus rtu·rs232/rs485
沫璃染墨11 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
Hammer_Hans12 小时前
DFT笔记98
java·开发语言·数据库
qq_4480111613 小时前
C语言中的野指针和空指针
c语言·开发语言·单片机
估值探索者13 小时前
【Python实时盯盘与预警 #08】成交额突然放大2倍?Python窗口比较抓异动
java·开发语言·python
yk 坤帝13 小时前
用Python实现发送《自动周报》实战脚本
开发语言·python