สวัสดีและยินดีต้อนรับ.
ในการบรรยายครั้งนี้ ฉันอยากจะพูด เกี่ยวกับอาร์กิวเมนต์และพารามิเตอร์
คำเหล่านี้มักจะเป็น ใช้แทนกันได้
สิ่งที่พวกเขาต้องรับมือ โดยพื้นฐานแล้วคือข้อมูลที่คุณส่งผ่านไปยังฟังก์ชัน
พารามิเตอร์จึงเป็นตัวแปร และการประกาศฟังก์ชันและการใช้งานการกำหนดฟังก์ชัน
จำไว้ว่าความแตกต่างระหว่าง .นี้ การประกาศฟังก์ชัน
ต้นแบบฟังก์ชัน และการกำหนดฟังก์ชัน
การประกาศฟังก์ชัน is แค่ลายเซ็นเมธอด มันคือส่วนหัวของฟังก์ชัน
นิยามฟังก์ชัน is การใช้งานฟังก์ชั่นรหัสจริง
ในทั้งสองข้อนี้ เงื่อนไข คำจำกัดความของการประกาศ เข้าใจความแตกต่างเหล่านั้น
แต่พารามิเตอร์คือสิ่งที่อยู่ใน การประกาศฟังก์ชันและคำจำกัดความ
อยู่ในส่วนหัวนั้น
เพราะมีทั้งส่วนหัว ในคำนิยามในการประกาศ
เมื่อเรียกฟังก์ชัน อาร์กิวเมนต์คือข้อมูลที่คุณส่งผ่านไปยังพารามิเตอร์ของฟังก์ชัน
นั่นคือมูลค่าที่แท้จริง ของตัวแปรที่ส่งผ่านไปยังฟังก์ชัน
ดังนั้นพารามิเตอร์ฟังก์ชันที่กำหนดไว้ ภายในส่วนหัวของฟังก์ชันและตัวยึดตำแหน่งสำหรับ
อาร์กิวเมนต์ที่ต้องระบุเมื่อเรียกใช้ฟังก์ชัน
จึงเข้าใจความแตกต่างที่นี่ ระหว่างอาร์กิวเมนต์และพารามิเตอร์
พารามิเตอร์เกี่ยวข้องกับ นิยามฟังก์ชันและการประกาศ
อาร์กิวเมนต์เป็นที่ที่คุณ เรียกใช้ฟังก์ชัน
เมื่อคุณเรียกใช้ฟังก์ชัน ข้อมูลที่คุณกำลังส่ง
อาร์กิวเมนต์จะใช้เมื่อคุณเรียกใช้
คุณจะบอกว่านี่คือข้อโต้แย้ง ที่จะไปทำหน้าที่ของฉัน
และเมื่อฟังก์ชันได้รับ ข้อมูลนั้นเรียกว่าเป็นพารามิเตอร์
พารามิเตอร์ของฟังก์ชัน เป็นรายการชื่อพารามิเตอร์พร้อมประเภทข้อมูล
พารามิเตอร์แต่ละตัวคือ คั่นด้วยเครื่องหมายจุลภาค
รายการพารามิเตอร์ทั้งหมดคือ อยู่ในวงเล็บตามชื่อของฟังก์ชัน
ฟังก์ชั่นสามารถมี no พารามิเตอร์ ซึ่งหมายความว่าไม่มีข้อมูลที่ส่งไป
และในกรณีนี้ คุณก็แค่มี วงเล็บซ้ายและขวามีช่องว่างระหว่างพวกเขาหรือว่างคุณ
ก็ยังว่างๆ ว่างๆ ระหว่างกันก็ได้ แต่แนวปฏิบัติที่ดี เพื่อวางช่องว่างระหว่างพวกเขา
โมฆะเป็นคีย์เวิร์ดพิเศษ นั่นหมายถึงไม่มีอะไร หมายถึงไม่มีพารามิเตอร์หรือไม่มีข้อมูลส่งคืน
พารามิเตอร์ให้หมายถึง เพื่อส่งข้อมูลไปยังฟังก์ชัน
ข้อมูลที่ส่งผ่านจากฟังก์ชันการโทร ไปยังฟังก์ชันที่เรียก, เรียกใช้
e ไปยังจุดสิ้นสุดการรับ, the สิ้นสุดการโทรและสิ้นสุดการรับ
ชื่อของพารามิเตอร์ เป็นท้องถิ่นของฟังก์ชัน
เราจะมาพูดถึงเรื่องนั้นกัน เมื่อเราพูดถึงข้อมูลท้องถิ่น
แต่ชื่อพารามิเตอร์เหล่านั้นเท่านั้น มีอยู่ภายในตัวฟังก์ชัน
พวกเขาจะถือว่าค่าของ อาร์กิวเมนต์ที่ส่งผ่านไปยังมัน
ดังนั้นถ้าคุณมีฟังก์ชันที่เรียกว่า เพิ่ม คุณส่งผ่านตัวแปรเป็นอาร์กิวเมนต์
คุณส่งผ่านค่า 5 และคุณมีฟังก์ชันที่มีพารามิเตอร์ x, x จะเท่ากับ
ถึง 5 ที่ใดก็ได้ในร่างกายของฟังก์ชัน
ร่างกายของการทำงาน ควรใช้พารามิเตอร์เหล่านี้ในการนำไปใช้
ถ้าไม่อย่างนั้นก็ ไม่ควรผ่าน
หากคุณมีตัวแปรพารามิเตอร์ กำหนดไว้ในคำจำกัดความการประกาศฟังก์ชันของคุณและคุณไม่เคยใช้สิ่งนั้น
ตัวแปรภายในฟังก์ชัน ที่เปลือง ไม่ต้องใส่เพราะ นั่นเป็นเพียงการบอกว่าคุณไม่ต้องการมัน
อย่าส่งข้อมูลไปที่a ฟังก์ชั่นที่ไม่ได้ใช้งาน
ร่างกายฟังก์ชันอาจมีเพิ่มเติม ตัวแปรที่กำหนดในเครื่องที่จำเป็นสำหรับการใช้งานฟังก์ชัน
คุณอาจมีภายในฟังก์ชัน เนื้อความ ตัวแปรอื่น ๆ ที่ประกาศเพราะจำเป็นสำหรับ
งานอะไรก็ตามที่คุณทำเสร็จ
คุณไม่เพียงแค่ทำงาน กับข้อมูลที่ส่งไป
คุณสามารถดำเนินการในพื้นที่ ข้อมูลภายในฟังก์ชัน
เมื่อผ่านอาร์เรย์เป็น an อาร์กิวเมนต์ของฟังก์ชัน
คุณต้องส่งอาร์กิวเมนต์เพิ่มเติมด้วย มีพารามิเตอร์อื่นที่กำหนดโดยระบุขนาดของอาร์เรย์
เหตุผลก็คือว่า ฟังก์ชันไม่มีทางรู้ได้ว่ามีองค์ประกอบกี่องค์ประกอบในอาร์เรย์
ดังนั้นแม้ว่าคุณจะประกาศ an อาร์เรย์ขนาด 50 คุณสามารถจัดเก็บได้
30 องค์ประกอบเท่านั้น
และถ้าคุณจะใช้สิ่งนั้น อาร์เรย์ภายในตัวฟังก์ชัน
คุณอาจต้อง รู้ว่ามันใหญ่แค่ไหนเพราะคุณจะต้องวนซ้ำ
ผ่านมันโดยใช้ลูปหรือคุณจะต้องเข้าถึงองค์ประกอบ
และถ้าองค์ประกอบการเข้าถึงของคุณ กำลังวนซ้ำไปมา
คุณจำเป็นต้องรู้หรือไม่ว่า เมื่อคุณอยู่นอกขอบเขต
และเราได้พูดคุยเกี่ยวกับการออกของ มีขอบเขตและเหตุใดจึงสำคัญ
นี่คือตัวอย่าง
เมื่อฟังก์ชัน printf เป็น เรียกว่า คุณใส่ค่าอย่างน้อยหนึ่งค่าเป็นอาร์กิวเมนต์เสมอ
ค่าแรกคือว่า สตริงภายในเครื่องหมายคำพูดคู่
ค่าที่เหลือเป็น any ตัวแปรที่จะแสดง
นี่เป็นฟังก์ชันที่ รับจำนวนตัวแปรของอาร์กิวเมนต์ซึ่งเราอาจจะไม่พูดถึง
เนื่องจากเป็นชั้นเรียนระดับเริ่มต้น นั่นเป็นแนวคิดขั้นสูงมากกว่า
แต่ฟังก์ชัน printf คือ a ตัวอย่างที่ดีในการส่งข้อมูลให้เพราะคุณกำลังผ่าน
ชุดข้อมูลหลายชุด ไม่ว่าจะเป็นสตริงภายในเครื่องหมายคำพูดหรือ
ตัวแปรที่คุณต้องการแสดง
เหตุนี้จึงสำคัญไฉน สามารถส่งข้อมูลไปยังฟังก์ชันได้
ช่วยเพิ่มประโยชน์อย่างมาก และความยืดหยุ่นของฟังก์ชัน
หากฟังก์ชันไม่มี ความสามารถในการรับข้อมูลจะไม่เป็นประโยชน์
ในตัวอย่างที่ฉันให้ไว้ ในการบรรยายครั้งสุดท้ายที่เรามีฟังก์ชั่นที่แสดง
เอาท์พุต มันไม่ได้ทำอะไรมาก
มันคงที่มาก
ก็ทำเหมือนกัน ทุกครั้งที่คุณเรียกใช้มัน
แต่ถ้าคุณมีหน้าที่ ที่รับข้อมูลแล้ว คุณสามารถควบคุมสิ่งที่จะแสดงได้
เช่นเดียวกับฟังก์ชัน printf
หากฟังก์ชัน printf ไม่ทำงาน มีพารามิเตอร์ คุณจะไม่สามารถบอกได้ว่าจะแสดงอะไร
หากคุณไม่ยอมรับข้อมูล คุณ จะไม่สามารถพูดว่า เฮ้ แสดงตัวแปรนี้หรือแสดงสตริงนี้
มันจะไม่มีประโยชน์มาก
จึงอยากให้ผ่าน ข้อมูลไปยังฟังก์ชันทำให้มีประโยชน์และยืดหยุ่นมากขึ้น
และคุณจะเห็นว่า
ฉันหมายถึงถ้าเราทำการคูณ ฟังก์ชัน คุณไม่ต้องการที่จะคูณเหมือนกัน
สองตัวเลขทุกครั้ง
คุณจะใช้พารามิเตอร์และข้อมูล จะถูกส่งต่อไปยังสองหมายเลข
คุณจึงทำการคำนวณต่างๆ ได้ ตามข้อมูลที่ส่งไป
สำคัญมากที่ต้องเข้าใจ การส่งข้อมูลและเหตุใดจึงมีประโยชน์
เป็นความคิดที่ดีที่จะเพิ่ม ความคิดเห็นก่อนกำหนดฟังก์ชันของคุณเอง
ช่วยอธิบายสิ่งที่ ฟังก์ชันกำลังจะทำและวิธีการใช้อาร์กิวเมนต์
โดยปกติคุณจะเห็นสิ่งนี้
คุณจะเห็นสิ่งนี้ในตัวอย่างของฉัน
คุณมีการประกาศฟังก์ชัน ที่ด้านบนของไฟล์ คุณมีคำจำกัดความของฟังก์ชัน
นิยามฟังก์ชันประกอบด้วย ส่วนหัวของฟังก์ชัน
เหนือฟังก์ชัน ส่วนหัว คุณมีความคิดเห็น มักจะเป็นความคิดเห็นหลายบรรทัด
คุณมีเครื่องหมายทับ เครื่องหมายดอกจัน
และที่นั่นคุณพูดชื่อของ ฟังก์ชัน วัตถุประสงค์ของฟังก์ชันแล้วยังอธิบายข้อมูลใด
ๆ อีกด้วย ที่กำลังถูกส่งผ่านไปยังฟังก์ชัน
นี่เป็นอีกครั้งสำหรับการบำรุงรักษา และสามารถค้นหาและแก้ไขข้อผิดพลาดได้รวดเร็วยิ่งขึ้น
โดยปกติคุณต้องการมี ชื่อที่ดีสำหรับฟังก์ชั่นที่จะบอกคุณบางสิ่งบางอย่าง
แต่มีความเห็นเพิ่มเติมว่า มันจะบอกคุณมากยิ่งขึ้น
นี่คือตัวอย่างที่เป็นฟังก์ชัน ที่คูณสองจำนวนที่ได้รับ ข้อมูลที่ส่งผ่านไปยังมัน
เรามีตัวคูณสองตัว
เรารู้ว่ามันเป็นหน้าที่เพราะ มันมีพารามิเตอร์เป็นหลัก
มันมีวงเล็บ
นั่นเป็นวิธีหนึ่งที่คุณสามารถระบุได้ ทำงานเมื่อคุณเห็นวงเล็บ
ฉันหมายความว่าเรายังสามารถระบุได้ เพราะมันมีแบบรีเทิร์น
มีหลายสิ่งหลายอย่างที่ บอกเราว่าเป็นฟังก์ชัน
แต่ที่สำคัญคือวงเล็บ แล้วคุณยังเห็นวงเล็บ, วงเล็บปีกกาที่มีความหมายว่า
จุดเริ่มต้นและจุดสิ้นสุดของบล็อก
นี่คูณสอง ตัวเลขทำงานแม้ว่า
โปรดจำไว้ว่าพารามิเตอร์ของฟังก์ชัน ถูกกำหนดไว้ระหว่างวงเล็บ และคั่นด้วยเครื่องหมายจุลภาค
ที่นี่เรามีพารามิเตอร์สองตัว
เรามีพารามิเตอร์ชื่อ x และพารามิเตอร์ชื่อ y
สำหรับแต่ละพารามิเตอร์ คุณ ต้องระบุประเภทข้อมูลที่เข้ามา
ตรงนี้เรามี int สองตัว
นี่เป็นวิธีมาตรฐานในการ ส่งข้อมูลและวิธีทำ
ระหว่างวงเล็บ data พิมพ์ชื่อตัวแปร
ชื่อของตัวแปรเพราะ อะไรก็ได้ที่ถูกต้องใน c สำหรับชื่อของตัวแปร
คุณสามารถ เรียกสิ่งนั้นว่า x y z อะไรก็ได้ที่คุณต้องการ
แค่เริ่มไม่ได้ ด้วยสัญลักษณ์สัญลักษณ์ดอลลาร์
แล้วคุณแยกพวกนั้นด้วยลูกน้ำ คุ้นเคยกับอนุสัญญานี้
พารามิเตอร์ภายในวงเล็บ
หากคุณไม่มีพารามิเตอร์ก็ไม่มีข้อมูล ที่ส่งต่อไปยังฟังก์ชัน
สิ่งที่คุณจะเห็นระหว่างนั้น วงเล็บจะถือเป็นโมฆะหรือคุณจะไม่เห็นอะไรอยู่ระหว่างวงเล็บ
ฟังก์ชันนี้ทำได้ทั้งหมด มันคือการนำข้อมูลที่ส่งผ่านเข้ามาซึ่งเป็นตัวแปรสองตัว
ตอนนี้ตั้งชื่อว่า x และ y แล้วมันจะคูณเข้าด้วยกันแล้วเก็บเอาไว้ ในตัวแปรที่ชื่อ result
หรือในกรณีนี้ ดูเหมือนว่าฉันสะกดผิด t
แล้วมันทำอะไร คือมันพิมพ์ข้อมูล
มันพิมพ์ข้อมูล ที่ทวีคูณ
แต่เห็นความยืดหยุ่นอีกครั้ง และประโยชน์ของฟังก์ชันเพราะใช้ข้อมูล
มันสามารถแสดงผลที่แตกต่างกัน ข้อมูลตามสิ่งที่คุณส่ง
เมื่อเราเรียกใช้ฟังก์ชันใน รูทีนหลักที่นี่ เราบอกว่าคูณสองตัวเลขแล้วส่งผ่านอาร์กิวเมนต์
เราส่งผ่านค่า 10 และ 20
เราส่งผ่านตัวแปรได้ ชื่อที่นี่เช่นกัน
แต่ในตัวอย่างนี้ เรากำลัง แค่บอกว่า 10 กับ 20
นี่จะเรียกฟังก์ชัน คูณสองตัวเลขแล้วมันจะผ่านข้อมูล
10 สำหรับ พารามิเตอร์แรก 20 สำหรับวินาที
x จะเท่ากับ 10, y จะเท่ากับ 20
เมื่อเราคูณ x คูณ y มันจะเป็น 10 คูณ 20 ผลลัพธ์จะเก็บ
200 แล้วมันจะแสดงผลนั้นพร้อมกับตัวแปร
ที่กำลังส่งผ่านไปยัง x y และ z
เลยเอามาโชว์ 10 20 แล้วก็ 200
สังเกตด้วยว่าเราทำได้ ตอนนี้ใช้ฟังก์ชันนี้ซ้ำ
เรากำลังเรียกมันอีกครั้งด้วยความแตกต่าง data, data ค่า 20 และ 30 ในบรรทัดที่สองของเราที่นี่ในฟังก์ชันหลัก
แล้วเราก็เรียกมันว่า . อีกครั้ง ครั้งที่สามที่จะคูณ 50 ด้วย 2
มีประโยชน์มากที่จะทำ นี้เพื่อสร้างฟังก์ชันที่รับข้อมูลที่แตกต่างกันทำให้
ใช้ซ้ำได้ทำให้มีความยืดหยุ่น
และไวยากรณ์ก็ง่ายมากที่จะปฏิบัติตาม
มันเป็นเพียงสองตัวแปรภายในของ วงเล็บคั่นด้วยเครื่องหมายจุลภาค
แล้วถึงจะเรียกว่าเท่ากัน ง่ายกว่า คุณแค่เว้นวรรคชื่อและคุณมีข้อมูลทั้งสอง
ข้อมูลใดก็ตามที่คั่นด้วย วงเล็บข้างทั่วไปแล้วลงท้ายด้วยเครื่องหมายอัฒภาค
คุณสามารถผ่านทุกชนิดของ ชนิดข้อมูลลงในฟังก์ชัน
คุณสามารถส่งผ่านอาร์เรย์
เรายังจะพูดถึงวิธีการ คุณสามารถส่งต่อข้อมูลประเภทอื่นได้
เรามีตัวอย่างง่ายๆ แต่ คุณยังสามารถส่งผ่านพอยน์เตอร์ซึ่งเรายังไม่ได้พูดถึง
คุณสามารถผ่านในโครงสร้าง
มาอีกแล้ว อีกหนึ่งแนวคิด เราไม่ได้พูดถึง
แต่มันกลับกลายเป็นว่า มีความหมายและมีประโยชน์อย่างยิ่งเมื่อคุณส่งข้อมูลที่นี่
นี่เป็นตัวอย่างง่ายๆ
สังเกตไวยากรณ์ ศึกษาสิ่งนี้ และจะเป็นความท้าทายที่ดีสำหรับคุณเมื่อคุณเขียน
จำนวนฟังก์ชันต่างๆ
ขอขอบคุณ.