ดังนั้น การเรียกใช้รันไทม์ไปยังฟังก์ชันตัวแปรแบบ C ที่ส่งผ่านอาร์กิวเมนต์ที่ไม่เหมาะสมจะทำให้เกิด behavior ที่ไม่ได้กำหนด … พฤติกรรมที่ไม่ได้กำหนดดังกล่าวอาจถูกนำไปใช้เพื่อเรียกใช้โค้ดโดยอำเภอใจ
ฟังก์ชันตัวแปรในภาษา C คืออะไร
ฟังก์ชันวาเรียคือ ฟังก์ชันที่รับจำนวนตัวแปรของอาร์กิวเมนต์ ในการเขียนโปรแกรม C ฟังก์ชัน Variadic จะเพิ่มความยืดหยุ่นให้กับโปรแกรม ใช้อาร์กิวเมนต์คงที่หนึ่งอาร์กิวเมนต์ จากนั้นจึงส่งอาร์กิวเมนต์จำนวนเท่าใดก็ได้
ฟังก์ชั่น Variadic แย่หรือเปล่า
เหตุผลคือ: ฟังก์ชันตัวแปรเทมเพลตรู้ทั้งจำนวนและประเภทของอาร์กิวเมนต์ พวกเขา ปลอดภัยประเภท อย่าเปลี่ยนประเภทของข้อโต้แย้ง.
คุณประกาศฟังก์ชันตัวแปรใน C++ อย่างไร
ฟังก์ชันวาเรียคือฟังก์ชัน (เช่น std::printf) ซึ่งรับตัวแปรจำนวนอาร์กิวเมนต์ ในการประกาศฟังก์ชันตัวแปร จุดไข่ปลาจะปรากฏขึ้นหลังรายการพารามิเตอร์ เช่น int printf(const char format…); ซึ่งอาจนำหน้าด้วยเครื่องหมายจุลภาคเสริม
คุณจะส่งพารามิเตอร์แบบแปรผันไปยังฟังก์ชันอื่นได้อย่างไร
คุณไม่สามารถส่งผ่านอาร์กิวเมนต์แบบแปรผันไปยังฟังก์ชันตัวแปรได้ คุณต้องเรียกใช้ฟังก์ชันที่ใช้ va_list เป็นอาร์กิวเมนต์ ไลบรารีมาตรฐานมีรูปแบบต่างๆ ของ printf และ scanf ที่ใช้ va_list; ชื่อของพวกเขามีคำนำหน้า v.