ฟังก์ชันมาตรฐานในภาษาซี เป็นฟังก์ชันที่มาพร้อมกับตัวคอมไพเลอร์ ให้ผู้เขียนโปรแกรมเรียกใช้งานได้ ซึ่งจะถูกรบรวมไว้ในไลบรารีภาษาซี การใช้งานต้องมีการระบุชื่อไลบรารี่ที่เกี่ยวข้อง ตัวอย่าง ฟังก์ชันทางคณิตศาสตร์
ต้องเรียกโดยใส่ #include <math.h> แล้วจึงสามารถเรียกใช้งานฟังก์ชันทางคณิตศาสตร์มาใช้งานได้เช่น
sqrt(x) ฟังก์ชันถอดรูท , pow(x,y) ฟังก์ชันยกกำลัง และอื่นๆ
ฟังก์ชันที่ผู้ใช้สร้างขึ้น
การสร้างฟังก์ชัน ต้องมีส่วนประกอบดังนี้
- ชื่อของฟังก์ชัน ตั้งชื่อให้สื่อความหมาย
- พารามิเตอร์ มีหรือไม่มีก็ได้
- การคืนค่ากลับ ถ้ามีการคืนค่าให้ระบุชนิดของการคืนค่า เช่น int,double หากไม่มีให้ระบุเป็น void
ตัวอย่างการประกาศฟังก์ชันprototype
- แบบไม่มีพารามิเตอร์ void display();
- แบบมีพารามิเตอร์ void count(int number);
-แบบไม่คืนค่ากลับ void display(){ statement }
-แบบคืนค่ากลับ ต้องมีการ return
- ไม่มีพารามิเตอร์ int truth(){ return 1; }
- มีพารามิเตอร์ int sum(int a, int b){ return a+b; } ส่วนของพารามิเตอร์ต้องระบุชนิดของตัวแปรด้วย
ตัวอย่างการสร้างฟังก์ชันและเรียกใช้งาน
ในตัวอย่างจะเป็นการสร้างฟังก์ชัน เพื่อทำการแปลง ค.ศ. -> พ.ศ
โค้ด: เลือกทั้งหมด
#include <stdio.h>
int adTobe(int ad);
int main() {
int ad;
printf(" ใส่เลข ค.ศ .:");
scanf("%d",&ad);
int result = adTobe(ad);
printf(" พ.ศ. %d ",result);
return 0;
}
int adTobe(int ad){
return ad + 543;
}
คำอธิบายโค้ด
#include <stdio.h>
- >> เรียกไลบรารี่
- >> ประกาศฟังก์ชันไว้ก่อน
- >> ฟังก์ชันmain ที่จะทำงาน
- >> ประกาศตัวแปร ad ชนิด int เพื่อจะนำมาใช้รับค่า
- >> แสดงผลทางหน้าจอให้
- >> รับค่า และเก็บไว้ในตัวแปร ad
- >> ประกาศตัวแปร result ชนิด int เพื่อเก็บค่าที่ได้จากการคืนค่าของฟังก์ชัน และเรียกใช้ฟังก์ชัน adTobe(ad) โดยส่งพารามิเตอร์ไป1ตัว
- >> แสดงผลลัพธ์ที่ได้
}
int adTobe(int ad){
- >> สร้างฟังก์ชัน ตามที่ได้ประกาศไว้ก่อนแล้ว ฟังก์ชันนี้สำหรับใช้แปลง ค.ศ เป็น พ.ศ มีพารามิเตอร์1 ตัวคือ ad ชนิด int และมีการคืนค่ากลับเป็น int
- >> คืนค่ากลับ
การเขียนฟังก์ชัน จะช่วยให้โค้ดของเราเป็นระเบียบ มีส่วนการทำงานเฉพาะของแต่ละฟังก์ชัน ซึ่งในทุกภาษาก็จะมีฟังก์ชันให้ได้ใช้งาน เช่น ไพทอน(Python)
จาวาสคริปต์(JavaScript) php เป็นต้น ซึ่งการเขียนและเรียกใช้ก็อาจจะแตกต่างกันไปตามแต่ละภาษา
อ้างอิง
https://www.tamemo.com/post/143/learn-c/
https://www.knowprogram.com/c-programming/function-c/
https://www.programtopia.net/c-programming/docs/functions