โครงสร้าง Typedef ใน C ++

Khorngsrang Typedef Ni C



ภาษาการเขียนโปรแกรม C++ นำเสนอคีย์เวิร์ด 'typedef' ซึ่งช่วยให้นักพัฒนาสามารถสร้างนามแฝงของประเภทข้อมูลที่มีอยู่ ซึ่งอาจเป็นประเภทพื้นฐานพื้นฐาน เช่น 'int', 'long' หรือประเภทข้อมูลโครงสร้างที่ผู้ใช้กำหนด คำหลัก 'typedef' ไม่ได้สร้างประเภทใหม่ แต่จะสร้างชื่อเล่น (หรือนามแฝง) ของประเภทที่มีอยู่แทน การใช้ 'typedef' จะทำให้โค้ดอ่านง่ายขึ้น และประหยัดพลังงานและเวลาที่ต้องใช้ในการพิมพ์ชื่อแบบยาวซ้ำๆ อย่างไรก็ตามหากมีการใช้งานมากเกินไปในโปรแกรมก็อาจทำให้โค้ดสับสนได้โดยเฉพาะในโปรเจ็กต์ขนาดใหญ่ ในบทความนี้ เราจะสำรวจวิธีการกำหนดโครงสร้างด้วย “typedef” วิธีช่วยลดบรรทัดโค้ด การใช้ “typedef” คืออะไร และอื่นๆ อีกมากมายด้วยความช่วยเหลือจากตัวอย่างประกอบ

ทำความเข้าใจกับโครงสร้าง Typedef ใน C ++

ในภาษา C++ นั้น “typedef” คือคีย์เวิร์ดที่ให้ชื่อใหม่ของประเภทข้อมูลในตัว ตัวชี้ โครงสร้าง และประเภทข้อมูลที่ผู้ใช้กำหนดซึ่งทำงานเป็นนามแฝงในโปรแกรมทั้งหมด พูดง่ายๆ ก็คือให้ชื่อที่สื่อความหมายให้กับประเภทข้อมูลในตัวหรือที่ผู้ใช้กำหนดซึ่งสามารถอธิบายได้ในตัว นอกจากนี้ยังช่วยลดบรรทัดของโค้ดและลดความซับซ้อนของประเภทข้อมูลที่ซับซ้อนอีกด้วย อย่างไรก็ตาม ตามที่กล่าวไว้ข้างต้น ไม่แนะนำให้ใช้ 'typedef' มากเกินไป เนื่องจากอาจทำให้เกิดความสับสนได้

โครงสร้างเป็นอีกคำหลักหนึ่งที่ใช้ในการกำหนดและเริ่มต้นโครงสร้าง โครงสร้างในภาษา C++ คือการประกาศประเภทข้อมูลแบบคอมโพสิตที่ช่วยให้นักพัฒนาสามารถจัดกลุ่มประเภทข้อมูลหรือตัวแปรต่างๆ ได้ในที่เดียว







ในภาษา C++ “struct” และ “typedef struct” จะเหมือนกัน ไม่มีความแตกต่างในทางปฏิบัติระหว่าง 'typedef struct' และ 'struct' เนื่องจากทำงานเหมือนกัน เมื่อใดก็ตามที่มีการประกาศหรือกำหนดคลาส, enum, union หรือ struct ใน C++ ก็ไม่จำเป็นต้องกำหนดเป็น 'typedef' โดยปริยาย เนื่องจากเป็น 'typedef' ตามค่าเริ่มต้น



ไวยากรณ์ของโครงสร้าง Typedef ใน C ++

ไวยากรณ์ของโครงสร้าง 'typedef' จะเหมือนกับโครงสร้างที่ไม่มี 'typedef' เพียงต้องการคำจำกัดความที่ชัดเจนของ 'typedef' ด้วยคีย์เวิร์ด 'struct' ดูไวยากรณ์ที่สมบูรณ์ดังต่อไปนี้:



พิมพ์def โครงสร้าง -
- ประเภทข้อมูล - - ตัวแปร1 - -
- ประเภทข้อมูล - - ตัวแปร2 - -
- ประเภทข้อมูล - - ตัวแปร3 - -
- - struct_name - -

โครงสร้างถูกกำหนดในขณะนี้เพียงแค่ใช้ เราสามารถกำหนดตัวแปรได้หลายตัวสำหรับโครงสร้างประเภทนี้ ดูคำจำกัดความต่อไปนี้:





- struct_name - ตัวแปร4, ตัวแปร5, ตัวแปร6 -

ตอนนี้ให้เราสำรวจตัวอย่างเพื่อความเข้าใจที่ชัดเจนและดีขึ้นของโครงสร้าง 'typedef' ใน C ++

ตัวอย่างที่ 1:

ในตัวอย่างแรกของโครงสร้าง “typedef” ใน C++ เราใช้โปรแกรมง่ายๆ เพื่ออธิบายวิธีการกำหนดและใช้งานในโครงการ C++ ดูโค้ดต่อไปนี้ จากนั้นให้เราไปยังคำอธิบาย:



#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
โครงสร้าง ทศนิยม -
ภายใน 1 ธ.ค -
ภายใน ธันวาคม 2 - - -
ภายใน หลัก - - -
โครงสร้าง ทศนิยม ง -
ง. 1 ธ.ค - 10 -
ง. ธันวาคม 2 - 23 -
ศาล - ง. 1 ธ.ค - สิ้นสุด -
ศาล - ง. ธันวาคม 2 - สิ้นสุด -
กลับ 0 - -

ในโค้ด C++ นี้ เรากำหนดโครงสร้างทศนิยมและสาธิตการใช้งานภายในฟังก์ชันหลัก มาดูโค้ดแต่ละบรรทัดกัน

โปรแกรมเริ่มต้นด้วยการรวมไฟล์ส่วนหัวที่จำเป็น เช่น “#include ” และใช้เนมสเปซ “std” สำหรับการดำเนินการอินพุต/เอาท์พุต และนำเนมสเปซ “std” เข้าสู่ขอบเขต หลังจากนั้นจะมีการกำหนดโครงสร้างชื่อ “ทศนิยม” โครงสร้างมีสมาชิกสองตัว: “dec1” และ “dec2” ทั้งสองประเภทเป็น “int”

ในฟังก์ชันหลัก อินสแตนซ์ของโครงสร้างทศนิยมจะถูกสร้างขึ้น ทำได้โดยใช้เครื่องหมาย “d;” ทศนิยมประกาศ โครงสร้างมีสองสมาชิก ดังนั้นเราจึงเข้าถึงทั้งสองโดยใช้อินสแตนซ์ 'd' จากนั้นค่าของ “dec1” และ “dec2” จะถูกกำหนดด้วย 10 และ 23 ตามลำดับ โดยใช้คำจำกัดความ “d.dec1” และ “d.dec2” สุดท้าย ค่าของ 'dec1' และ 'dec2' จะถูกพิมพ์ไปยังคอนโซลโดยใช้ 'cout' โปรแกรมให้ผลลัพธ์ดังต่อไปนี้:

สแนปชอตเอาต์พุตที่กำหนดจะแสดงวิธีการใช้โครงสร้าง 'typedef' แบบง่าย ๆ ที่ชื่อว่า 'ทศนิยม' เพื่อจัดเก็บและจัดการเลขทศนิยมสองตัวภายในฟังก์ชันหลัก โครงสร้าง “typedef” ช่วยให้สามารถจัดระเบียบและจัดการข้อมูลที่เกี่ยวข้องในโปรแกรม C++ ได้ดีขึ้น

ตัวอย่างที่ 2:

ในตัวอย่างที่เราอธิบายไว้ก่อนหน้านี้ จะมีการระบุข้อมูลเพียงประเภทเดียวในโครงสร้าง ตอนนี้ให้เรากำหนดข้อมูลหลายประเภทในโครงสร้างและดูว่า 'typedef' สามารถช่วยลดบรรทัดของโค้ดและลดความซับซ้อนของโค้ดได้อย่างไร รหัสได้รับดังต่อไปนี้สำหรับการอ้างอิงของคุณ:

#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
พิมพ์def โครงสร้าง พจนานุกรม -
ภายใน รหัส -
ชื่อสตริง -
ยาว โรลนัม -
ถ่าน ชื่อคลาส -
- คำสั่ง -
ภายใน หลัก - -
-
ข้อมูลเขียนตามคำบอก -
ข้อมูล. รหัส - ยี่สิบ -
ข้อมูล. ชื่อ - “กาลซูม” -
ข้อมูล. โรลนัม - 123456789 -
ข้อมูล. ชื่อคลาส - 'ดี' -
ศาล - 'รหัสของผู้สมัครคือ = ' - ข้อมูล. รหัส - สิ้นสุด -
ศาล - “ชื่อผู้สมัครคือ =” - ข้อมูล. ชื่อ - สิ้นสุด -
ศาล - 'จำนวนผู้สมัครคือ = ' - ข้อมูล. โรลนัม - สิ้นสุด -
ศาล - “ชื่อชั้นเรียนของผู้สมัครคือ =” - ข้อมูล. ชื่อคลาส - สิ้นสุด -
กลับ 0 -
-

เช่นเดียวกับตัวอย่างก่อนหน้านี้ โปรแกรมนี้ยังได้เริ่มต้นไฟล์ส่วนหัวที่จำเป็น เช่น “#include ” และใช้เนมสเปซ “std” เพื่อดำเนินการอินพุต/เอาท์พุตพื้นฐาน หลังจากนั้น โครงสร้างพจนานุกรมจะถูกกำหนดด้วยสมาชิกสี่คน: id, name, rollnum และ classname คำหลัก “typedef” สร้างนามแฝง “dict” สำหรับโครงสร้างนี้ นามแฝงนี้อนุญาตให้เรียกโครงสร้างง่ายๆ ว่า 'dict' แทนพจนานุกรม struct

ในฟังก์ชันหลัก ขั้นแรกเราจะกำหนดอินสแตนซ์ของพจนานุกรมโครงสร้างชื่อ 'dict' เป็นข้อมูลที่ทำหน้าที่เป็นนามแฝงของ 'dict' ค่าถูกกำหนดให้กับสมาชิกแต่ละคนของโครงสร้างโดยใช้คำสั่งต่อไปนี้:

ข้อมูล. รหัส - ยี่สิบ -
ข้อมูล. ชื่อ - “คัลซูม” -
ข้อมูล. โรลนัม - 123456789 -
ข้อมูล. ชื่อคลาส - 'ดี' -

ดังที่คุณเห็น ค่าเหล่านี้มีหลายประเภท ได้แก่ int, string, long และ char เมื่อใช้คำสั่ง 'cout' เราจะพิมพ์ค่าที่กำหนดทั้งหมดบนคอนโซล ให้เราดูผลลัพธ์ของโปรแกรมในภาพรวมต่อไปนี้:

ภาพหน้าจอเอาต์พุตแสดงให้เห็นอย่างชัดเจนถึงการใช้ 'typedef' กับโครงสร้างที่มีข้อมูลหลายประเภทเพื่อสร้างนามแฝงสำหรับโครงสร้าง โดยให้วิธีการทำงานกับโครงสร้างในโปรแกรม C++ ที่สมบูรณ์กระชับ อ่านง่าย และง่ายกว่า

บทสรุป

เพื่อสรุปโครงสร้าง 'typedef' ใน C ++ 'typedef' คือคำสำคัญที่ใช้ใน C ++ เพื่อสร้างนามแฝงของชนิดข้อมูลดั้งเดิม บิวท์อิน หรือที่ผู้ใช้กำหนด เมื่อจับคู่กับคีย์เวิร์ด “struct” แล้ว “typedef” เป็นเครื่องมือที่มีประสิทธิภาพในการปรับปรุงความกระชับและความชัดเจนของโค้ด คำจำกัดความ 'typedef' มักจะช่วยลดบรรทัดของโค้ดและพื้นที่หน่วยความจำ อย่างไรก็ตาม ไม่แนะนำให้ใช้ 'typedef' มากเกินไปในโปรแกรมใดๆ ทั้งโครงการระยะสั้นหรือระยะยาวและซับซ้อน เนื่องจากอาจทำให้เกิดความกำกวมได้ ในบทความนี้ เราได้ศึกษาเกี่ยวกับโครงสร้าง “typedef” ด้วยความช่วยเหลือของตัวอย่างที่ตรงไปตรงมาเพื่อทำความเข้าใจการทำงาน การใช้งาน และการใช้งาน “typedef” ในโปรแกรม C++