ฟังก์ชัน
ฟังก์ชันเป็นส่วนหรือกลุ่มของคำสั่งเพื่อทำงานบางอย่าง แนวคิดของฟังก์ชันคือการรวบรวมโค้ดที่ใช้บ่อยๆ และซ้ำๆ กลับมาใช้ใหม่
เมื่อคุณสร้างฟังก์ชันมันสามารถถูกเรียกใช้ได้จากทุกจุดของโปรแกรม บางครั้งขึ้นกับขอบเขตของมัน รูปแบบในการเขียนฟังก์ชันในภาษา C++ คือ:
type name ( parameter1, parameter2, ... )
{
statements
}
type เป็นประเภทของฟังก์ชันสำหรับการส่งค่ากลับ ประเภทของฟังก์ชันนั้นจะเป็นเหมือนประเภทของตัวแปร เช่น Integer, Floating, Double หรือแบบอ็อบเจ็ค ประเภทแบบ void หมายความว่าฟังก์ชันไม่มีค่าที่ต้องส่งกลับ
name นั้นเป็นชื่อของฟังก์ชันที่เราสร้างขึ้น มันมีวิธีการตั้งคือโดยการใช้กฏแบบเดียวกันกับการตั้งชื่อตัวแปร มันสามารถประกอบไปด้วยตัวอักษร ตัวเลข และ Underscore (_) แต่ไม่สามารถเริ่มต้นด้วยตัวเลข
Parameters เป็นเซ็ตของตัวแปรที่ถูกส่งเข้ามายังฟังก์ชัน ฟังก์ชันสามารถมีหรือไม่มีพารามีเตอร์ก็ได้ ขึ้นกับวัตถุประสงค์ของมัน
Statement คือโค้ดของโปรแกรมที่จะทำงานและให้ค่าผลลัพธ์ของฟังก์ชัน
การประกาศฟังก์ชัน
เพื่อประกาศฟังก์ชันในภาษา C++ คุณจำเป็นต้องทำตามรูปแบบของมัน มาดูตัวอย่าง
#include <iostream>
using namespace std;
int sum(int x, int y)
{
int z = x + y;
return z;
}
int main()
{
int a = 3;
int b = 5;
cout << "a + b = " << sum(a, b);
return 0;
}
ในตัวอย่าง เราได้สร้างฟังก์ชันเพื่อหาผลรวมของตัวแปร 2 ตัว โดยประเภทของฟังก์ชันนั้นจะเป็น int นั่นหมายความว่าฟังก์ชันจะส่งค่ากลับเป็นข้อมูลแบบ Integer และชื่อของฟังก์ชันคือ sum และมีพารามิเตอร์สองตัว ดังนั้น เราสามารถเรียกใช้ฟังก์ชัน โดยการใช้ชื่อของมัน และส่งพารามิเตอร์ไปเหมือนที่เราได้ประกาศในฟังก์ชัน เมื่อฟังก์ชันถูกเรียกใช้ มันจะประมวลผลคำสั่งในฟังก์ชัน และจะใช้คำสั่ง return เพื่อส่งค่ากลับมายังจุดเรียกฟังก์ชัน
ในโปรแกรมของเรา จะต้องได้ 8 เป็นค่าส่งกลับ ข้างล่างนี้เป็นผลลัพธ์ของโปรแกรม
a + b = 8
โครงสร้างข้อมูลในภาษา C
โครงสร้างข้อมูล (structure) คือกลุ่มของตัวแปรที่สามารถสร้างและเก็บไว้ในตัวแปรเดียวที่เรียกว่า data structure ในภาษา C เราสามารถสร้างและออกแบบโครงสร้างข้อมูลของเราได้ตามที่ต้องการ โดยโครงสร้างข้อมูลจะมีสมาชิกที่เป็นตัวแปร (members) และฟังก์ชันได้ในเวลาเดียวกัน
การประกาศโครงสร้างข้อมูล
ในภาษา C การประกาศโครงสร้างข้อมูลมีรูปแบบดังนี้
struct struct_name
{
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;
เราใช้คำสั่ง struct ในการประกาศโครงสร้างข้อมูล struct_name เป็นชื่อของโครงสร้างข้อมูลโดยมีรูปแบบการตั้งชื่อเหมือนตัวแปร คือเป็นตัวอักษร ตัวเลข และเครื่องหมาย underscore (_) และต้องไม่ขึ้นต้นด้วยตัวเลข ในบล็อคของ structure จะเป็นการประกาศสมาชิก (members) ซึ่งสามารถเป็นได้ทั้งตัวแปรและฟังก์ชัน สำหรับ object_names เป็นตัวแปรออบเจ็คของโครงสร้างข้อมูล ซึ่งเป็นทางเลือกในการประกาศ มาดูตัวอย่าง
struct person
{
char name[20];
int age;
float money;
} student, teacher;
ในตัวอย่าง เราได้สร้างโครงสร้างข้อมูลชื่อว่า person โดยมีสมาชิก 3 ตัว โดยเป็นตัวแปรที่เก็บข้อมูลประเภทต่างๆ ที่เป็น name, age และ money สำหรับสมาชิกของโครงสร้างข้อมูล คุณไม่สามารถกำหนดค่าเริ่มต้นเหมือนการประกาศตัวแปรได้ และเราได้สร้างตัวแปรออบเจ็คของโครงสร้างข้อมูลนี้คือ student และ teacher อย่างไรก็ตามเราสามารถสร้างตัวแปรออบเจคนี้ได้ภายหลังเมื่อตอนโปรแกรมรัน โดยใช้คำสั่ง
struct person student, teacher;