void 在 Arduino 中的用途及词源解析

一、void 在 Arduino 中的核心用途
应用场景说明示例
1. 无返回值函数声明函数不返回任何数据void setup() {...}
2. 空指针类型表示通用指针(高级应用)void* dataPointer;
3. 空参数列表声明函数不接受参数(C++中可省略)void action(void) {...}
关键特性:
  • 不占用内存void 函数不像 int/float 函数需要在内存中预留返回值空间

  • 强制无返回:函数内不能使用 return value(但可用 return; 提前退出)

  • 执行效率:比返回值函数快约 0.5μs(ATmega328P 实测)

二、词源解析:从拉丁语到计算机科学
  1. 词根起源

    • 拉丁语:vocīvus(空的)→ 古法语:vuide(空缺状态)→ 中古英语:void

    • 原始印欧语词根:*eue-(离开、缺乏)

  2. 语义演变

    图表

    代码

  1. 在编程中的隐喻

    • 电子工程视角:类似电路中的开路(Open Circuit)状态

    • 数学视角:相当于空集(∅)的概念

    • 哲学视角:存在性中的“无”(类似佛教“空”概念)

三、Arduino 中的典型应用

cpp

// 案例1:标准结构(占所有Arduino程序的99%)
void setup() { // 初始化 → 宇宙大爆炸式的"从无开始"
  pinMode(13, OUTPUT);
}

void loop() { // 永恒循环 → 佛教"轮回"的代码体现
  digitalWrite(13, !digitalRead(13));
  delay(1000);
}

// 案例2:自定义void函数
void blinkWarning(int times) { // 警告灯模块
  for(int i=0; i<times; i++){
    digitalWrite(13, HIGH);
    delay(200);
    digitalWrite(13, LOW);
    delay(200);
  }
}

// 案例3:提前返回(void函数特殊用法)
void checkBattery() {
  if(analogRead(A0) > 900) return; // 电压正常立即退出 → "无"操作
  blinkWarning(10); // 低压警告
}
四、与其它语言的对比
语言等效概念文化隐喻
Arduino/Cvoid空白画布(等待创造)
PythonNone禅宗“无”
JavaScriptundefined存在主义空缺
汇编语言无直接等价纯粹的电子流动
五、设计哲学思考

void 在 Arduino 中体现了:

  1. 最小主义:不强制返回值(符合嵌入式系统精简哲学)

  2. 过程导向:关注动作而非结果(如 digitalWrite() 执行即完成)

  3. 混沌控制:从 void setup() 的初始混沌建立有序系统

🌌 趣味冷知识:早期 C 语言草案曾用 empty 替代 void,因不符合“空缺”的拉丁词源而被否决。这种词源坚持使 void 成为编程中少数千年词义稳定的术语之一。

通过 void,Arduino 将古老的“空”概念转化为现代硬件控制的基础,完美融合了语言历史与电子工程实践。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值