มาโครและฟังก์ชันอินไลน์
สำรวจการกำหนดมาโครและข้อดีเมื่อเทียบกับฟังก์ชัน
มาโครและฟังก์ชันอินไลน์ เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำสู่แมโคร
แมโครและฟังก์ชันอินไลน์
แมโครและฟังก์ชันอินไลน์ช่วยเพิ่มประสิทธิภาพโค้ดโดยลดค่าใช้จ่ายส่วนเกินจากการเรียกฟังก์ชัน
ในบทเรียนนี้ คุณจะได้เรียนรู้:
- วิธีกำหนดและใช้แมโคร
- ประโยชน์ของฟังก์ชันอินไลน์เมื่อเทียบกับแมโคร
- วิธีที่แมโครและฟังก์ชันอินไลน์ช่วยปรับปรุงประสิทธิภาพ

แมโครคืออะไร
แมโครคืออะไร
แมโครคือคำสั่งของตัวประมวลผลล่วงหน้าที่ใช้แทนที่โค้ดก่อนการคอมไพล์
ตัวอย่าง:
#define SQUARE(x) (x * x)
จากนั้น SQUARE(5) จะถูกแทนที่ด้วย (5 * 5) ระหว่างการคอมไพล์
ตัวอย่าง: การใช้แมโคร
ตัวอย่าง: การใช้แมโคร
โปรแกรมนี้สาธิตวิธีใช้แมโครสำหรับการคำนวณ
#include <stdio.h>
#define SQUARE(x) (x * x)
int main() {
int num = 4;
printf("Square of %d is %d\n", num, SQUARE(num));
return 0;
}ข้อจำกัดของแมโคร
ข้อจำกัดของแมโคร
แมโครไม่ตรวจสอบชนิดข้อมูลและอาจทำให้ได้ผลลัพธ์ที่ไม่คาดคิด
ตัวอย่างปัญหา:
#define MULTIPLY(x, y) x * y
การเรียก MULTIPLY(2 + 3, 4) จะขยายเป็น 2 + 3 * 4 ทำให้ได้ผลลัพธ์ไม่ถูกต้อง
การแนะนำฟังก์ชันอินไลน์
การแนะนำฟังก์ชันอินไลน์
ฟังก์ชันอินไลน์เป็นทางเลือกแทนแมโคร โดยยังคงมีความปลอดภัยด้านชนิดข้อมูล
รูปแบบการใช้งาน:
inline int square(int x) { return x * x; }
ฟังก์ชันเหล่านี้ช่วยลดค่าใช้จ่ายส่วนเกินจากการเรียกฟังก์ชัน แต่ยังคงตรวจสอบชนิดข้อมูลได้อย่างถูกต้อง
ตัวอย่าง: การใช้ฟังก์ชันอินไลน์
ตัวอย่าง: การใช้ฟังก์ชันอินไลน์
โปรแกรมนี้สาธิตการใช้ฟังก์ชันอินไลน์แทนแมโคร
#include <stdio.h>
inline int square(int x) { return x * x; }
int main() {
int num = 4;
printf("Square of %d is %d\n", num, square(num));
return 0;
}ข้อดีของฟังก์ชันอินไลน์
ข้อดีของฟังก์ชันอินไลน์
ฟังก์ชันอินไลน์มีประโยชน์หลายประการเมื่อเทียบกับแมโคร:
- มีความปลอดภัยด้านชนิดข้อมูล
- ดีบักได้ดีกว่า เพราะปรากฏในร่องรอยการเรียกใช้
- ไม่มีข้อผิดพลาดจากการขยายที่ไม่คาดคิด
ควรใช้แมโครหรือฟังก์ชันอินไลน์เมื่อใด
ควรใช้แมโครหรือฟังก์ชันอินไลน์เมื่อใด
ใช้แมโครเมื่อ:
- กำหนดค่าคงที่อย่างง่าย
- ดำเนินการแทนที่ข้อความเล็กน้อย
ใช้ฟังก์ชันอินไลน์เมื่อ:
- ดำเนินการที่ซับซ้อน
- ต้องการรับรองความปลอดภัยด้านชนิดข้อมูล
สรุป
สรุป
ในบทเรียนนี้ คุณได้เรียนรู้:
- วิธีกำหนดและใช้แมโคร
- ข้อจำกัดของแมโคร
- วิธีที่ฟังก์ชันอินไลน์เป็นทางเลือกที่ปลอดภัยกว่า
ต่อไป เราจะสำรวจการคอมไพล์แบบมีเงื่อนไข

คำถามที่พบบ่อย
บทเรียน “มาโครและฟังก์ชันอินไลน์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “มาโครและฟังก์ชันอินไลน์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “มาโครและฟังก์ชันอินไลน์”
สำรวจการกำหนดมาโครและข้อดีเมื่อเทียบกับฟังก์ชัน คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “มาโครและฟังก์ชันอินไลน์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม
ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ทำความเข้าใจตัวประมวลผลล่วงหน้าของ C
- มาโครและฟังก์ชันอินไลน์
- การคอมไพล์แบบมีเงื่อนไข