Function = บล็อกโค้ดทำงานเฉพาะเจาะจง ข้อดี: reuse, ลดโค้ด, debug ง่าย, modular
การ Return ค่า
- ฟังก์ชันอาจ return ค่า หรือไม่ return (void)
- return type: int, float, char, struct, pointer ฯลฯ
- default return type = int
- ใช้
return expression;ส่งค่ากลับ
ตัวอย่างฟังก์ชัน Return ค่า
int total() {
int a = 10, b = 20, c;
c = a + b;
return c; // หรือ return a+b;
}
ผลลัพธ์
30
โปรแกรม main() และ return
int main() {
// ...
return 0; // คืนค่า 0 แสดงสำเร็จ
}
ถ้าไม่เขียน return 0 ใน main() คอมไพเลอร์จะใส่ให้อัตโนมัติ (C99+)
หลักการ Return
- Return ส่งค่าเพียงค่าเดียว
- การเปลี่ยนแปลงตัวแปรในฟังก์ชันเป็น local ไม่ส่งผลภายนอก
- Calling function อาจ ignore return value ได้ (เช่น printf, scanf)
- Return value ใช้ใน expression หรือ assign ให้ตัวแปรได้