การส่งผ่านค่าให้แก่ฟังก์ชั่น

   ในบางฟังก์ชั่นอาจะไม่จำเป็นต้องรับค่าใดๆ จากโปรแกรมหลักก็สามารถทำงานและให้ผลลัพธ์ออกมาได้ เช่น ฟังก์ชั่น time() จะให้ค่าเป็น timestamp (เป็น integer) ของวันที่และเวลาปัจจุบัน แต่ในกรณีที่ฟังก์ชั่นต้องการค่าบางอย่างจากโปรแกรมที่เรียกใช้มัน จะทำได้โดยการส่งค่าผ่านพารามิเตอร์ การส่งผ่านค่าให้กับฟังก์ชั่นทำได้สองวิธีคือ

    การส่งผ่านด้วยค่า (passing by Value)   เป็นวิธีการส่งผ่านค่าที่มักใช้กันโดยทัี่วไป คือใส่ตัวแปรเป็นอาร์กิวเมนต์ ให้กับฟังก์ชั่นแล้ว  ถึงแม้ในฟังก์ชั่นจะมีการเปลี่ยนค่าของตัวแปรพารามิเตอร์ที่รับค่ามาจากอาร์กิวเมนต์นั้น ค่าของตัวแปรอาร์กิวเมน์ที่อยุ่ภายนอกฟังก์ชั่นไม่เปลี่ยนแปลง
    การส่งผ่านด้วยการอ้างอิง (passing by reference) เมื่อใส่สักษณ์ &(ampersand) ไว้หน้าอาร์กิวเมนต์ในขณะสร้างฟังก์ชั่น จะมีผลให้เป็นการส่งผ่านการอ้างอิง  โดยหากในฟังก์ชั่นมีการเปลี่ยนค่าตัวแปรอาร์กิวเมนต์นั้น ค่าของตัวแปรภายนอกฟังก์ชั่นจะถูกเปลี่ยนตามด้วย

0 ความคิดเห็น:

ขอบคุณนะครับ ที่แวะมาเยี่ยมกัน

ติดต่อผมได้ที่ en42chart@gmail.com หรือออนเอ็มคุยกันที่ en42chart@hotmail.com