สวัสดีและยินดีต้อนรับกลับมาเพิ่มเติมเกี่ยวกับโครงสร้างโดยเฉพาะอย่างยิ่งโครงสร้างที่ซ้อนกันโครงสร้างโครงสร้างที่ซ้อนอยู่ภายในโครงสร้างนั่นคือความหมาย
ดังนั้น C ช่วยให้คุณสามารถกำหนดโครงสร้างที่ตัวเองมีโครงสร้างทั้งหมดของพวกเขาเป็นหนึ่งหรือมากกว่าของสมาชิก
ดังนั้นแนวคิดใด ๆ ที่คุณสามารถมีโครงสร้างภายในโครงสร้างเพื่อให้คุณเห็นว่าเป็นไปได้อย่างไรที่จะจัดกลุ่มแบบมีเหตุผลในแต่ละเดือนของวันของปีให้เป็นโครงสร้างที่เรียกว่า
เราติดตัวอย่างวันนี้แล้ว
แล้วถ้าเราต้องการจัดกลุ่มเวลาจริง ๆ เป็นชั่วโมงและวินาทีในโครงสร้างฉันดูเหมือนว่าจะมีประโยชน์เช่นกัน
ดังนั้นที่นี่เราจะมีโครงสร้างที่เรียกว่าเวลาและมันคล้ายกันมากกับมันมีสามองค์ประกอบ
เรารู้ว่าชื่อของโครงสร้างเป็นเวลาเพราะมันเป็นไปตามคำหลัก struct
นั่นคือชื่อแท็ก
แล้วภายในวงเล็บปีกกาที่เรากำหนดองค์ประกอบของเราคือชนิดข้อมูลและชื่อของตัวแปรและตอนนี้เรารู้แล้วว่าเราสามารถใส่อาร์เรย์ในนั้นได้ถ้าเราต้องการ
แต่ในกรณีนี้เราไม่ได้ใส่อาร์เรย์เราแค่ต้องการจำนวนเต็มสามตัว
เราจบโครงสร้างด้วยวงเล็บปีกกาที่ถูกต้องและผลรวมที่ฉันเรียกว่าในบางแอพพลิเคชั่นคุณอาจต้องการให้ทั้งวันและเวลาเข้ากัน
มันจะสมเหตุสมผลเพราะวันที่และเวลานั้นมีการจัดระเบียบอย่างมีเหตุผลหรือมีเหตุผลร่วมกันที่นั่นจัดกลุ่มตามหลักเหตุผล
ดังนั้นคุณสามารถตั้งค่ารายการเหตุการณ์ที่จะเกิดขึ้นในวันและเวลาที่ต้องการ
และนี่อาจเป็นกรณีที่มีประโยชน์มากที่คุณต้องการใช้โครงสร้างแบบซ้อนเพื่อให้คุณมีวิธีที่สะดวกในการเชื่อมโยงทั้งวันที่และเวลาเข้าด้วยกัน
เราสามารถกำหนดโครงสร้างใหม่ที่เรียกตัวอย่างเช่นวันที่ในเวลาซึ่งจะมีสมาชิกสององค์ประกอบต่อวันซึ่งเป็นโครงสร้าง
ดังนั้นตอนนี้เรามีโครงสร้างที่ซ้อนกันเรามีโครงสร้างชื่อdênเวลาที่มีโครงสร้างอื่นสองโครงสร้าง
อะไรแบบนั้น.
และไวยากรณ์นั้นคล้ายกับการสร้างโครงสร้างอื่น ๆ
ความแตกต่างเพียงอย่างเดียวที่นี่อยู่ภายในโครงสร้างจริงตามชื่อองค์ประกอบที่คุณมีคำสำคัญ struct ชื่อของ
struct และจากนั้นตัวแปร
ดังนั้นในกรณีนี้เรากำลังสร้างสิ่งก่อสร้างที่สวยงามและเรามีโครงสร้างสองแบบ
หนึ่งคือวันที่ประเภทของเวลาชนิดที่มีสองตัวแปรตามเวลาของรัฐสมาชิกคนแรกของโครงสร้างที่เป็นชนิดของโครงสร้างวันในมันเรียกว่าวันที่
สมาชิกที่สองของโครงสร้างวันที่และเวลาเป็นประเภทโครงสร้างเวลาและมันถูกเรียกว่าเป็นตัวแปรเวลาในขณะนี้สามารถกำหนดให้เป็นวันและเวลาของโครงสร้างประเภท
เราไม่จำเป็นต้องสร้างตัวแปรแยกต่างหากสำหรับตัวแปรแบบแยกกันเป็นช่วงเวลา
เราสามารถสร้างหนึ่งและโครงสร้างนั้นจะเก็บทั้งวันที่และเวลาที่เราจะทำเช่นนี้เราจะใช้คำสำคัญ struct
ระบุประเภทของโครงสร้างที่ถูกผูกแล้วชื่อตัวแปร
ในกรณีนี้พวกเขากำลังจะจัดเก็บเหตุการณ์ดังนั้นเราจึงพูดเหตุการณ์เมื่อคุณต้องการเข้าถึงสมาชิกของโครงสร้างที่ซ้อนกัน
ไวยากรณ์ตรงไปตรงมาสวยอีกครั้ง
สิ่งที่คุณต้องทำคืออ้างอิงมันเหมือนกับสมาชิกคนอื่น ๆ ที่คุณต้องใช้ตัวดำเนินการเลือกสมาชิกดอทนั้น
ดังนั้นเราจึงใช้มันหลายครั้งดังนั้นถ้าเรามีโครงสร้างชื่อเหตุการณ์และเราต้องการได้รับวันที่เราบอกว่า Venkat เป็นวันที่เพราะเป็นสมาชิกของเวลาข้อมูลนั้นตอนนี้ถ้าคุณต้องการอ้างอิงสมาชิกเฉพาะภายใน
ระบุอีกครั้งคุณจะต้องใช้ช่วงเวลาตกโดยชื่อหมายเลขที่จะถูกตรึงในตอนท้าย
ดังนั้นไอน้ำด้านล่างนี้จะตั้งเดือนของโครงสร้างวันที่ที่บรรจุภายในเหตุการณ์ถึงตุลาคม
และมันจะเพิ่มหนึ่งเข้าไปในสองนั้นอยู่ในโครงสร้างเวลา
ดังนั้นเราจึงบอกว่าวันที่ของเหตุการณ์แล้วก็จุดอีกจุดเพราะเราต้องการเข้าถึงองค์ประกอบของตัวแปรวัน
เราต้องการที่จะเข้าถึงเดือนและเราจะเข้าสู่ระบบเดือน 10
มีจุดหลายจุดตรงนี้และทั้งหมดนี้กำลังบอกว่าคุณมีโครงสร้างชื่อเหตุการณ์และเนื่องจากการประกาศของเราก่อนที่เราจะบอกว่าเป็นประเภท DATE และ
TIME
ข้างในนั้นคุณมีโครงสร้างซึ่งเป็นเพียงโครงสร้างวันที่
คุณต้องการเข้าถึงว่าพวกเขาโจมตีสมาชิกรายเดือนหรือไม่
คุณบอกว่าจุดสองจุดของ Dopp เดือน
แล้วถ้าเราต้องการเปลี่ยนการเพิ่มขึ้นทีละวินาทีเราก็สามารถพูดได้ว่า plus plus
เราสามารถใช้ตัวดำเนินการ pre prementation เพิ่มเติมบวกกับเหตุการณ์ที่หมดเวลาเป็นวินาทีเราต้องรวมจุดสองจุดนั้นในหน่วยวินาที เพิ่ม
1 ลงไป
ตรงไปตรงมามาก
ตัวแปรเหตุการณ์สามารถเริ่มต้นได้เช่นเดียวกับโครงสร้างปกติถ้าคุณต้องการตั้งค่าวันที่ในเหตุการณ์ตัวแปรถึง
4 กุมภาพันธ์ 2015
และเวลา 330 คุณจะบอกว่าเหตุการณ์วันที่หลงคุณจะสร้างมันเหมือนปกติ วงเล็บปีกกาเหล่านั้นเพื่อระบุสมาชิกการเริ่มต้นโครงสร้างที่แตกต่างกัน
ดังนั้นในวงเล็บปีกกาแรกเราจะเริ่มต้นวันที่เราจะเริ่มต้นเดือนถึงเดือนกุมภาพันธ์ข้อมูล
1 และปีถึงปี 2015
จากนั้นเราจะสิ้นสุดวงเล็บปีกกาและเราใส่เครื่องหมายจุลภาคหลังจากวงเล็บปีกกาเหล่านั้นแล้ว ที่สองซึ่งเป็นชนิดของการมองมันดูเหมือนว่าการเริ่มต้นอาร์เรย์หลายมิติ
เราบอกว่าเวลาจะเท่ากับ 330 กับ 0
ดังนั้น 3 ชั่วโมง 30 นาที 0 วินาที
คุณสามารถใช้ชื่อสมาชิกในการเริ่มต้นเช่นเดียวกับกฎการเริ่มต้นอื่น ๆ ทั้งหมดของเรา
สิ่งนี้จะเป็นประโยชน์เพราะคุณไม่ต้องระบุคำสั่งในที่นี้เราเพียงแค่สร้างเหตุการณ์แล้วภายในวงเล็บปีกกาที่เราใช้ตัวดำเนินการ dot ที่เราพูดว่า Dot เท่ากับ
com และ dot com dot here เท่ากับปี
2015
และนั่นเป็นเพียงการระบุการเริ่มต้นวันที่
หากเราต้องการระบุการกำหนดเวลาเริ่มต้นเราเพียงแค่ใช้จุดสำหรับสมาชิกแต่ละคนที่ชื่อว่า dot DOT
นาทีของเราและเราสามารถสลับลำดับไปทางขวา
เราสามารถบอกว่าภาคต่อที่สอง 0 เป็นครั้งแรกและจากนั้นแปดนาทีเท่ากับ 30
แล้วลำดับที่สามสุดท้ายของเราก็ไม่สำคัญ
จากนั้นเราก็ปิดท้ายด้วยเซมิโคลอนในวงเล็บปีกกาหยิกขวา
ตอนนี้เรารู้แล้วว่าเราสามารถมีโครงสร้างซ้อนกันได้แล้วสิ่งใดบ้างเกี่ยวกับอาร์เรย์โครงสร้างซ้อนกัน
ตอนนี้เรากำลังเข้าสู่มันจริงๆ
ใช่มันเป็นไปได้
คุณสามารถตั้งค่าอาร์เรย์ของวันที่และเวลาโครงสร้างวันที่และวันที่และเวลาที่มีสองโครงสร้างภายในของมัน
คุณเพียงแค่ทำมันเหมือนกับไวยากรณ์ปกติอื่น ๆ
คุณต้องใช้วงเล็บเหล่านั้นเพื่อระบุขนาดของอาร์เรย์เมื่อคุณประกาศชื่อโครงสร้างจริง
คุณต้องระบุวันที่และเวลาประเภทเช่นเดียวกับโครงสร้างอื่น ๆ เหตุการณ์อาร์เรย์ที่มีการประกาศให้มี 100
องค์ประกอบของวันที่และเวลาประเภทโครงสร้าง 14 เวลาที่มีอยู่ภายในอาร์เรย์มีการอ้างอิงโดยใช้ดัชนีปกติย่อย 3
หรือดัชนีสามหรือสามต่อมา .
ภายในวงเล็บเหลี่ยมเหล่านั้นเพื่อตั้งค่าครั้งแรกในอาร์เรย์เป็นเที่ยงคุณจะบอกว่าเหตุการณ์ Sub-Zero time เพราะจำได้ว่าเมื่อเวลาชี้ไปที่ struct
เวลาแล้วคุณต้องเข้าถึงองค์ประกอบใน struct เวลาซึ่งเป็นของเราใช้ อีกจุดหนึ่งและคุณบอกว่า
12
มันดูคล้ายกับการประกาศหรือการมอบหมายหน้าที่ก่อนหน้านี้ฉันควรจะพูด แต่มันมีดัชนีอาร์เรย์ที่เป็นศูนย์ภายในวงเล็บเหลี่ยม
หากเหตุการณ์ไม่ใช่อาร์เรย์และคุณเพียงต้องการเข้าถึงโครงสร้างเดียวหรือโครงสร้างด้านนอกของเวลาคุณเพียงแค่กำจัดวงเล็บ
ดังนั้นอาร์เรย์จึงไม่ซับซ้อนอะไรที่คุณต้องคุ้นเคยกับวงเล็บเหลี่ยมเหล่านั้นในดัชนีที่นี่เพื่อรีเซ็ตนาทีเป็นศูนย์ย่อยเหตุการณ์
ดังนั้นเราจึงตั้งค่าองค์ประกอบแรกนั้นจากนั้นเราตั้งค่าที่สองเป็น 0
ตอนนี้ถ้าเราต้องการล้างโครงสร้างภายในโครงสร้างคุณสามารถกำหนดโครงสร้างภายในนิยามโครงสร้างเวลา
ดังนั้นนี่คืออื่น
อีกประเภทของความยืดหยุ่น
เราไม่จำเป็นต้องกำหนดวันและโครงสร้างเวลาไว้ที่อื่นเราสามารถกำหนดโครงสร้างเหล่านั้นได้ในโครงสร้างเวลาของเรา
ดังนั้นนี่คือตัวอย่างของการกำหนดโครงสร้างภายในที่นั่นภายในโครงสร้างชนิด
ดังนั้นที่นี่เรามีโครงสร้างซ้อนกัน แต่จริงๆแล้วเรากำหนดไว้ภายในคำจำกัดความของโครงสร้างเวลา
ดังนั้นเราจะบอกว่าเวลา struct ด้วยชื่อแท็กแล้วภายในวงเล็บปีกกาที่เราพูดวันที่ struct
นั่นถูกต้องสมบูรณ์
และคุณจะสังเกตเห็นว่าการสิ้นสุดของวันที่ struct ก่อนที่เซมิโคลอนลงท้ายจะสร้างตัวแปรที่ชื่อว่า D
ทุม บี
แล้วหลังจากที่เราสร้าง struct และองค์ประกอบในตัวแปร D-B
เราจะระบุองค์ประกอบของเวลาโครงสร้างชั่วโมงนาทีและวินาที
ดังนั้นตอนนี้ใช้ได้อย่างสมบูรณ์แบบในตอนนี้คุณควรสังเกตว่าข้อ จำกัด ของวันโครงสร้างนี้จะถูกกำหนดไว้ที่นั่นเพียงครั้งเดียวด้วยตัวแปรที่ชื่อว่า
DSB
คุณจะไม่สามารถใช้โครงสร้างวันที่ใด ๆ นอกเหนือจากนี้เว้นแต่คุณจะใช้เวลาภายในคุณจะไม่สามารถใช้ข้อมูลได้ด้วยตัวเอง
ดังนั้นการประกาศโครงสร้างวันจะอยู่ภายในขอบเขตของ sculp นิยามโครงสร้างเวลาหมายถึงวิธีที่คุณสามารถเข้าถึงสิ่งต่าง
ๆ ได้เนื่องจากโครงสร้างข้อมูลอยู่ในขอบเขตของเวลา
คุณไม่สามารถเข้าถึงได้เว้นแต่คุณจะสร้างตัวแปรเวลาตัวแปรเวลาโครงสร้าง
คุณไม่สามารถพูดวันตัวแปรชื่อฉันได้เพราะคุณไม่มีสิทธิ์เข้าถึง
ดังนั้นข้อมูลจึงไม่มีอยู่นอกโครงสร้างเวลา
เป็นไปไม่ได้ที่จะประกาศตัวแปรวันที่ภายนอกโครงสร้างเวลา
ครั้งเดียวที่คุณสามารถใช้ตัวแปรโครงสร้างวันที่คือเมื่อคุณสร้างโครงสร้างเวลาและมันจะสร้างดีลให้กับคุณโดยอัตโนมัติ
ดังนั้นนี่ค่อนข้าง จำกัด
แต่คุณจะใช้ในกรณีที่คุณต้องการเพียงวันที่ซึ่งเกี่ยวข้องกับเวลาที่ไม่ควรอยู่ด้วย
จากนั้นคุณก็จะทำมันด้วยวิธีนี้อีกแนวคิดที่เรียบร้อย
แนวคิดของการจัดโครงสร้างภายในโครงสร้าง
พื้นฐานมาก ๆ และไวยากรณ์นั้นค่อนข้างเรียบง่ายคุณคุ้นเคยกับการเพิ่มอาเรย์เข้ากับโครงสร้างที่มีโครงสร้าง
คุณเพียงแค่ใช้วงเล็บเหลี่ยมในดัชนี
ไม่มีอะไรเปลี่ยนแปลงที่นั่นจริงๆ
และจากนั้นคุณสามารถเปลี่ยนรูปแบบได้เล็กน้อยถ้าคุณต้องการโครงสร้างซ้อนกันแบบโลคัล
คุณสามารถกำหนดได้ภายในนิยามโครงสร้างอื่น
ดังนั้นเราจึงกลายเป็นผู้เชี่ยวชาญที่นี่กับประเภทโครงสร้างของเรา
ฉันต้องการพูดคุยเกี่ยวกับแนวคิดของคู่สุดท้ายโดยเฉพาะฉันต้องการแสดงให้คุณเห็นว่าคุณสามารถสร้างพอยน์เตอร์ภายในโครงสร้างที่มีประโยชน์ได้อย่างไรจากนั้นเราจะทำการท้าทายและแบบฝึกหัดและมันจะทำให้คุณคุ้นเคยกับแนวคิดโครงสร้างนี้จริงๆ
ขอบคุณ.