งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ข้อมูลแบบโครงสร้างและยูเนียน

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ข้อมูลแบบโครงสร้างและยูเนียน"— ใบสำเนางานนำเสนอ:

1 ข้อมูลแบบโครงสร้างและยูเนียน
บทที่ 11 ข้อมูลแบบโครงสร้างและยูเนียน

2 สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
การสร้างชนิดข้อมูล ก่อนจะศึกษาชนิดข้อมูลแบบโครงสร้างและยูเนียนนั้น จะต้องรู้จักคำสั่งในการสร้างชนิดข้อมูลก่อน เพราะข้อมูลแบบโครงสร้างและยูเนียน จะใช้คำสั่งนี้สร้างขึ้นมา นั่นก็คือ typedef ผู้ใช้จะสามารถสร้างชนิดข้อมูลใหม่จากชนิดข้อมูลพื้นฐานที่มีอยู่เดิมแล้ว รูปแบบ typedef [ชนิดข้อมูล] [ชื่อชนิดข้อมูลใหม่]; สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

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

4 การสร้างและกำหนดลักษณะของโครงสร้าง
การสร้างตัวแปรเป็นโครงสร้าง การสร้างตัวแปรเป็นโครงสร้าง จะมีรูปแบบดังนี้ struct { [รายชื่อสมาชิก] } [ชื่อของโครงสร้าง]; การสร้างโครงสร้างเป็นชนิดข้อมูลใหม่ การสร้างโครงสร้างเป็นชนิดข้อมูลใหม่ ซึ่งโดยการใช้โครงสร้างจะนิยมใช้แบบนี้ เพราะโครงสร้างที่สร้างขึ้น จะเป็นชนิดข้อมูลใหม่อีกชนิดหนึ่ง ซึ่งสามารถนำสร้างตัวแปรได้ โดยมีรูปแบบดังนี้ typedef struct { [รายชื่อสมาชิก] } [ชื่อชนิดข้อมูลใหม่]; สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

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

6 สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
การเข้าถึงโครงสร้าง หลังจากที่สร้างโครงสร้างได้แล้ว ต่อมาก็มาศึกษาการเข้าถึงสมาชิกแต่ละตัวในโครงสร้างที่สร้างขึ้น ซึ่งผู้ใช้สามารถที่จะเข้าถึงและกระทำต่อสมาชิกภายในโครงสร้างได้ โดยตัวอย่างการเข้าเข้าถึงสมาชิกแต่ละสมาชิกในโครงสร้าง Student ได้แสดงตัวอย่างด้านล่างนี้ aStudent.id aStudent.name aStudent.gradePoints สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

7 พอยเตอร์ของโครงสร้าง
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

8 โครงสร้างซ้อนโครงสร้าง
ตัวอย่าง สมมุติต้องการมีโครงสร้างที่ชื่อ stamp โดยต้องการจะเก็บ date และ time ไว้ภายใน date จะต้องเก็บ month, day และyear ส่วน time จะต้องเก็บ hour, minute และ second ซึ่งโครงสร้างของ stamp stamp.tme.sec stamp.date.month stamp.date stamp.tme สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

9 การประกาศโครงสร้างซ้อนโครงสร้าง
typedef struct { int month; int day; int year; } DATE; { int hour; int min; int sec; } TIME; { DATE date; TIME time; } STAMP; STAMP stamp; สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

10 การเข้าถึงโครงสร้างซ้อนโครงสร้าง
stamp stamp.date stamp.date.month stamp.date.day stamp.date.year stamp.time stamp.time.hour stamp.time.min stamp.time.sec สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

11 การกำหนดค่าเริ่มต้นโครงสร้างซ้อนโครงสร้าง
การกำหนดค่าเริ่มต้นให้กับโครงสร้างซ้อนโครงสร้าง จะมีกฎอยู่ว่า โครงสร้างที่อยู่ภายในโครงสร้างหลักจะต้องกำหนดค่าอยู่ในวงเล็บปีกกา และสมาชิกภายในโครงสร้างนั้นจะต้องคั่นด้วยเครื่องหมายลูกน้ำเท่านั้น ถ้าในโครงสร้างหลักมีสมาชิกข้างในเป็นโครงสร้างหลายสมาชิก จะต้องคั่นระหว่างสมาชิกด้วยเครื่องหมายลูกน้ำด้วย ดังเช่นตัวอย่างด้านล่างเป็นกำหนดค่าเริ่มต้นให้กับ โครงสร้าง stamp STAMP stamo = {{05, 10, 1936}, {23, 45, 00}}; สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

12 โครงสร้างที่มีอาร์เรย์เป็นส่วนสมาชิก
การประกาศโครงสร้างที่มีอาร์เรย์เป็นสมาชิก โครงสร้างสามารถมีอาร์เรย์เป็นสมาชิกได้ โดยการประกาศนั้นก็เหมือนกับการประกาศอาร์เรย์ทั่วไป การเข้าถึงอาร์เรย์ในโครงสร้าง student student.name student.name[i] student.midterm student.midterm[i] student.final สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น

13 สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
ข้อมูลแบบยูเนียน ข้อมูลแบบยูเนียน (Union) เป็นข้อมูลที่มีลักษณะคล้ายกับข้อมูลแบบโครงสร้าง แต่ตัวแปรหรือสมาชิกต่าง ๆ ในยูเนียนนั้น จะใช้หน่วยความจำเดียวกัน คือจะมีตัวแปรหรือสมาชิกใดสมาชิกหนึ่งเท่านั้นที่ใช้หน่วยความจำในช่วงเวลานั้น การเข้าถึงยูเนียน data.num data.chAry[0] typedef union { short num; char chAry[2]; } SH_CH2; SH_CH2 data; 16706 num A chAry[0] B chAry[1] สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น


ดาวน์โหลด ppt ข้อมูลแบบโครงสร้างและยูเนียน

งานนำเสนอที่คล้ายกัน


Ads by Google