ฟังก์ชัน

ฟังก์ชันเป็นส่วนหรือกลุ่มของคำสั่งเพื่อทำงานบางอย่าง แนวคิดของฟังก์ชันคือการรวบรวมโค้ดที่ใช้บ่อยๆ และซ้ำๆ กลับมาใช้ใหม่

เมื่อคุณสร้างฟังก์ชันมันสามารถถูกเรียกใช้ได้จากทุกจุดของโปรแกรม บางครั้งขึ้นกับขอบเขตของมัน รูปแบบในการเขียนฟังก์ชันในภาษา C++ คือ:

type name ( parameter1, parameter2, ... )

{

    statements

}


การประกาศฟังก์ชัน

เพื่อประกาศฟังก์ชันในภาษา 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;