สวัสดีและยินดีต้อนรับกลับ อีกหนึ่งความท้าทายสำหรับคุณ
อีกครั้งมันจะเป็นตัวชี้ สิ่งที่ฉันต้องการจะช่วยให้คุณเรียนรู้ในความท้าทายนี้คือแนวคิดของการส่งผ่านโดยอ้างอิง
ดังนั้นแม้ว่า c จะทำทุกอย่างที่ส่งผ่านค่า แต่จริงๆ
แล้วมันเป็นการทำสำเนาที่อยู่เมื่อคุณใช้พอยน์เตอร์ ดังนั้นการเลียนแบบจึงผ่านการอ้างอิง
และข้อดีที่สำคัญของการส่งผ่านโดยการอ้างอิงก็คือ เมื่อคุณเปลี่ยนค่าของตัวชี้หรือตัวแปรภายในฟังก์ชัน
คุณจะเห็นการเปลี่ยนแปลงนั้นสะท้อนออกมาภายนอกฟังก์ชัน
ดังนั้นเราจึงไม่จำเป็นต้องใช้ตัวแปรส่วนกลางมากนัก
และเป็นประโยชน์อย่างมากที่จะสามารถส่งผ่านข้อมูลไปยังฟังก์ชันเป็นตัวชี้ที่เลียนแบบการส่งผ่านข้อมูลอ้างอิงได้
ดังนั้นในความท้าทายนี้ คุณจะต้องเขียนโปรแกรมที่ทดสอบความเข้าใจของคุณเกี่ยวกับ pass by reference
และวิธีใช้พอยน์เตอร์เพื่อทำสิ่งนี้
ฉันต้องการให้คุณเขียนฟังก์ชันที่ยกกำลังสองตัวเลขด้วยตัวเอง
การใช้งานฟังก์ชั่นจะค่อนข้างง่าย
มันจะยกกำลังสองจำนวนที่คุณส่งเข้าไป
ดังนั้นฟังก์ชันควรกำหนดเป็นพารามิเตอร์ในตัวชี้ int
ในการประกาศฟังก์ชันของคุณ จะใช้ int star ซึ่งเป็นตัวชี้
จากนั้นภายในการใช้งานฟังก์ชันของคุณ สิ่งที่คุณจะทำคือคุณจะต้องยกเลิกการอ้างอิงค่าของพอยน์เตอร์และคูณมันด้วยตัวมันเอง
คุณไม่จำเป็นต้องส่งคืนข้อมูลใด ๆ จากฟังก์ชันนี้
ฉันแค่อยากให้คุณเข้าใจแนวคิดของการส่งผ่านโดยการอ้างอิงหรือผ่านตัวชี้
สิ่งสุดท้ายที่โปรแกรมนี้ควรทำคือควรพิมพ์ค่าของตัวแปร
ค่าของพอยน์เตอร์ที่คุณส่งผ่านไปยังฟังก์ชัน
ดังนั้นคุณจึงไม่จำเป็นต้องสร้างตัวชี้เพื่อส่งผ่าน
คุณสามารถใช้ชนิดข้อมูลปริมณฑลปกติเป็นจำนวนเต็มทศนิยม
เมื่อคุณส่งจำนวนเต็มนั้นลอยเข้าไป จะต้องเป็นที่อยู่เพราะฟังก์ชันของช่องสี่เหลี่ยมยอมรับเฉพาะตัวชี้เท่านั้น
แต่อีกครั้ง สิ่งที่คุณจะสังเกตเห็นในที่นี้คือ ค่าหรือตัวแปรนอกฟังก์ชัน
ตัวที่ส่งผ่านไปยังฟังก์ชันจะเปลี่ยนไป เพราะคุณกำลังใช้ที่อยู่
และนี่จะเป็นการเลียนแบบ โดยอ้างอิง
ขอให้โชคดีในเรื่องนี้
มันค่อนข้างตรงไปตรงมา
อีกครั้ง จะทำให้คุณคุ้นเคยกับไวยากรณ์ของตัวชี้และแนวคิดของการส่งผ่านโดยการอ้างอิง
ขอขอบคุณ.