การสร้างและเรียกใช้งานฟังก์ชันในภาษาซี

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
WKsoft
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 872
ลงทะเบียนเมื่อ: 30/11/2021 9:35 am

การสร้างและเรียกใช้งานฟังก์ชันในภาษาซี

โพสต์ที่ยังไม่ได้อ่าน โดย WKsoft »

การเขียนโปรแกรม จะมีการเรียกใช้งานฟังก์ชันหรือเขียนฟังก์ชันไว้เพื่อให้สามารถแยกได้ว่าส่วนไหนทำงานอะไร สำหรับเวลาเวลาเกิดข้อผิดพลาดจะได้กลับมาแก้ไข เฉพาะส่วนไม่ต้องแก้ไขทั้งหมด การสร้างฟังก์ชันและเรียกใช้งานจะมีรูปแบบและโครงสร้างยังไง ในส่วนนี้จะมาพูดถึงการสร้างฟังก์ชันของภาษาซี
C
C
c.jpg (12.1 KiB) Viewed 824 times
ฟังก์ชัน คือ ส่วนย่อยของโปรแกรม ที่สร้างขึ้นมาเพื่อทำงานอย่างใดอย่างหนึ่ง โดยการอ้างถึงชื่อที่กำหนดให้
ฟังก์ชันมาตรฐานในภาษาซี เป็นฟังก์ชันที่มาพร้อมกับตัวคอมไพเลอร์ ให้ผู้เขียนโปรแกรมเรียกใช้งานได้ ซึ่งจะถูกรบรวมไว้ในไลบรารีภาษาซี การใช้งานต้องมีการระบุชื่อไลบรารี่ที่เกี่ยวข้อง ตัวอย่าง ฟังก์ชันทางคณิตศาสตร์
ต้องเรียกโดยใส่ #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; 
}
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์.png (4.13 KiB) Viewed 824 times
ตัวอย่างได้ใส่เลข ค.ศ. = 2021 ได้ผลลัพธ์เป็น พ.ศ. 2564

คำอธิบายโค้ด
#include <stdio.h>
  • >> เรียกไลบรารี่
int adTobe(int ad);
  • >> ประกาศฟังก์ชันไว้ก่อน
int main() {
  • >> ฟังก์ชันmain ที่จะทำงาน
int ad;
  • >> ประกาศตัวแปร ad ชนิด int เพื่อจะนำมาใช้รับค่า
printf(" ใส่เลข ค.ศ .:");
  • >> แสดงผลทางหน้าจอให้
scanf("%d",&ad);
  • >> รับค่า และเก็บไว้ในตัวแปร ad
int result = adTobe(ad);
  • >> ประกาศตัวแปร result ชนิด int เพื่อเก็บค่าที่ได้จากการคืนค่าของฟังก์ชัน และเรียกใช้ฟังก์ชัน adTobe(ad) โดยส่งพารามิเตอร์ไป1ตัว
printf(" พ.ศ. %d ",result);
  • >> แสดงผลลัพธ์ที่ได้
return 0;
}
int adTobe(int ad){
  • >> สร้างฟังก์ชัน ตามที่ได้ประกาศไว้ก่อนแล้ว ฟังก์ชันนี้สำหรับใช้แปลง ค.ศ เป็น พ.ศ มีพารามิเตอร์1 ตัวคือ ad ชนิด int และมีการคืนค่ากลับเป็น int
return ad + 543;
  • >> คืนค่ากลับ
}

การเขียนฟังก์ชัน จะช่วยให้โค้ดของเราเป็นระเบียบ มีส่วนการทำงานเฉพาะของแต่ละฟังก์ชัน ซึ่งในทุกภาษาก็จะมีฟังก์ชันให้ได้ใช้งาน เช่น ไพทอน(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

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 84