1. พื้นฐานของ void
ในภาษา C
void
ในภาษา C เป็นคีย์เวิร์ดพิเศษที่ใช้ระบุว่าฟังก์ชันจะไม่ส่งค่ากลับ ฟังก์ชันนี้จะถูกใช้เมื่อเราต้องการให้ฟังก์ชันทำงานบางอย่างโดยไม่จำเป็นต้องส่งผลลัพธ์กลับ เช่น การแสดงผลข้อมูลหรือดำเนินการบางอย่างแบบง่ายๆ สำหรับผู้เริ่มต้นเรียนภาษา C การเข้าใจแนวคิดนี้ถือว่าสำคัญ เพราะการใช้ void
อย่างถูกต้องจะช่วยให้โครงสร้างโปรแกรมและเจตนาของโค้ดชัดเจนมากขึ้น ทำให้อ่านและดูแลโค้ดได้ง่ายขึ้น
บทบาทของ void
void
เป็นคีย์เวิร์ดที่ใช้ในภาษา C เพื่อระบุว่าฟังก์ชันจะไม่คืนค่ากลับ- การใช้
void
ใน prototype ของฟังก์ชัน จะบอกอย่างชัดเจนว่าฟังก์ชันนี้ไม่มีการคืนค่า
2. void
คืออะไร?
void
เป็นคีย์เวิร์ดที่ใช้กำหนดชนิดข้อมูลที่ฟังก์ชันจะคืนค่า โดยทั่วไป ฟังก์ชันจะส่งค่ากลับในรูปแบบข้อมูลที่กำหนด แต่ถ้าระบุ void
จะหมายความว่าฟังก์ชันนี้จะไม่คืนค่า นอกจากนี้ void
ยังสามารถใช้ในกรณีที่ฟังก์ชันไม่มีพารามิเตอร์ เพื่อระบุว่าฟังก์ชันนั้นไม่รับอาร์กิวเมนต์ใดๆ
การใช้งาน void
- ฟังก์ชันที่ไม่มีค่าคืน: การระบุ
void
เป็นชนิดคืนค่าจะชี้ให้เห็นว่าฟังก์ชันนี้จะไม่ส่งค่ากลับ - ฟังก์ชันที่ไม่มีพารามิเตอร์: เมื่อฟังก์ชันไม่มีอาร์กิวเมนต์ ให้ใช้
void
เพื่อแสดงอย่างชัดเจน

3. สถานการณ์ที่ควรใช้ void
ฟังก์ชัน void
มักใช้เมื่อเราต้องการให้ฟังก์ชันทำแค่บางอย่าง โดยไม่ต้องนำค่ากลับมาใช้งานต่อ เช่น ฟังก์ชันที่แสดงข้อความบนหน้าจอ หรือฟังก์ชันปิดไฟล์ ในกรณีเหล่านี้ การใช้ void
จะทำให้เข้าใจได้ง่ายว่าฟังก์ชันนี้ไม่จำเป็นต้องคืนค่า ช่วยให้โค้ดดูเป็นระเบียบและเข้าใจง่าย
ตัวอย่างการใช้ void
- ฟังก์ชันสำหรับแสดงผล: ใช้ในกรณีที่แค่แสดงผลลัพธ์โดยไม่ต้องรับค่ากลับ
- ฟังก์ชันสำหรับเริ่มต้นค่า: ใช้สำหรับรีเซ็ตหรือเริ่มต้นค่าต่างๆ โดยไม่จำเป็นต้องส่งผลลัพธ์คืน
4. ตัวอย่างฟังก์ชัน void
ตัวอย่างพื้นฐานของฟังก์ชัน void
มีดังนี้
ตัวอย่างที่ 1: ฟังก์ชันแสดงข้อความ
#include <stdio.h>
void printMessage() {
printf("Hello, World!\n");
}
int main() {
printMessage();
return 0;
}
ฟังก์ชัน printMessage
นี้จะแสดงข้อความ “Hello, World!” โดยไม่ต้องคืนค่าใดๆ จึงระบุชนิดเป็น void
ตัวอย่างที่ 2: การกำหนดค่าเริ่มต้นให้กับตัวแปร
void initializeArray(int arr[], int size) {
for(int i = 0; i < size; i++) {
arr[i] = 0;
}
}
ฟังก์ชัน initializeArray
จะกำหนดค่าเริ่มต้นให้กับอาเรย์ โดยไม่ต้องส่งค่ากลับเช่นกัน

5. บทบาทของ void
ใน prototype ของฟังก์ชัน
การใช้ void
ใน prototype ของฟังก์ชันจะทำให้เห็นอย่างชัดเจนว่าฟังก์ชันนี้ไม่มีค่าคืน ช่วยเพิ่มความชัดเจนและเข้าใจง่ายของโค้ด
ตัวอย่างการประกาศ prototype
void displayMessage(void);
บรรทัดนี้แสดงให้เห็นว่า displayMessage
ไม่มีอาร์กิวเมนต์และไม่มีค่าคืน
6. Best Practice ในการใช้ void
Best Practice คือ ควรใช้ void
เฉพาะเมื่อฟังก์ชันไม่จำเป็นต้องคืนค่าเท่านั้น และควรใช้เพื่อช่วยให้โค้ดมีความชัดเจน สื่อถึงเจตนาของฟังก์ชันอย่างตรงไปตรงมา
การออกแบบฟังก์ชัน void
- ออกแบบให้เรียบง่าย: ฟังก์ชัน
void
เหมาะกับงานที่มีขั้นตอนชัดเจนและไม่ซับซ้อน - ระบุจุดประสงค์ให้ชัดเจน: ใส่คอมเมนต์หรือคำอธิบายเมื่อฟังก์ชันไม่จำเป็นต้องคืนค่า เพื่อให้ผู้อ่านเข้าใจเหตุผล
7. การใช้งาน void
ขั้นสูง
ในการเขียนโปรแกรม C ขั้นสูง อาจใช้ตัวชี้ void*
เพื่อจัดการข้อมูลชนิดทั่วไป void*
สามารถชี้ไปยังข้อมูลชนิดใดก็ได้ จึงมีประโยชน์มากในงานที่เกี่ยวกับการจัดการหน่วยความจำหรือการเขียนฟังก์ชันแบบทั่วไป
ตัวอย่าง void*
void* myFunction() {
// ส่งคืน pointer ที่สามารถใช้กับข้อมูลประเภทใดก็ได้
}
ตัวอย่างนี้จะเห็นว่า void*
ใช้เพื่อคืน pointer ที่สามารถใช้งานกับข้อมูลชนิดต่างๆ ได้ เหมาะสำหรับฟังก์ชันที่ต้องการความยืดหยุ่นสูง

8. สรุปและประเด็นสำคัญ
void
ใช้เพื่อระบุว่าฟังก์ชันไม่มีค่าคืน- การใช้
void
จะช่วยให้เจตนาของฟังก์ชันชัดเจน และช่วยให้อ่านโค้ดง่ายขึ้น - สำหรับการใช้งานขั้นสูง สามารถใช้
void*
เพื่อจัดการข้อมูลแบบทั่วไป
9. แหล่งข้อมูลเพิ่มเติมและการเรียนรู้ต่อยอด
- หนังสือ “The C Programming Language” โดย Kernighan และ Ritchie
- คู่มือออนไลน์สำหรับภาษา C
- เอกสารรายละเอียดเกี่ยวกับการใช้
void
และ pointer
หวังว่าบทความนี้จะช่วยให้คุณเข้าใจ void
ในภาษา C ตั้งแต่พื้นฐานจนถึงขั้นสูง และนำไปใช้ในงานเขียนโปรแกรม C ได้อย่างมีประสิทธิภาพ