ฟังก์ชัน (Function) เป็นบล็อกอิสระที่ทำงานเฉพาะเจาะจง และนิยามชัดเจน
ข้อดี ของฟังก์ชันในภาษา C:
- นำกลับมาใช้ซ้ำได้ (Reusability)
- ลดความยาวของโปรแกรม
- ค้นหาและพบฟังก์ชันที่ผิดพลาดได้ง่าย
- สนับสนุนการเขียนโปรแกรมแบบโมดูลาร์จากบนลงล่าง (Top-down Modular Programming)
การออกแบบจากบนลงล่างและแผนผังโครงสร้าง
เป็นวิธีแก้ปัญหาที่แก้ปัญหาที่ซับซ้อนโดยการแบ่งเป็นปัญหาย่อย
แผนผังโครงสร้าง (Structure Chart) เป็นเครื่องมือเอกสารที่แสดงความสัมพันธ์ระหว่างปัญหาย่อยของปัญหาหนึ่ง

การแบ่งปัญหาเป็นปัญหาย่อยที่เกี่ยวข้อง คือกระบวนการปรับปรุงอัลกอริทึม ตัวอย่าง การดำเนินการคำนวณเลขคณิตกับ 2 ตัวเลข:
- หาผลรวม
- หาผลต่าง
- หาผลคูณ
- หาผลหาร
อัลกอริทึมที่ปรับปรุงสำหรับขั้นตอนแรก
อัลกอริทึมที่ปรับปรุงเพื่อหาผลรวมของสองตัวเลข:
- รับตัวเลข 2 จำนวน a, b
- หาผลรวม c = a + b
- พิมพ์ผลรวม
แผนผังโครงสร้าง
