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

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

Structure. Overview รู้จักกับ structure การประกาศและใช้งาน structure การประกาศและใช้งาน union.

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


งานนำเสนอเรื่อง: "Structure. Overview รู้จักกับ structure การประกาศและใช้งาน structure การประกาศและใช้งาน union."— ใบสำเนางานนำเสนอ:

1 Structure

2 Overview รู้จักกับ structure การประกาศและใช้งาน structure การประกาศและใช้งาน union

3 StructureStructure

4 ID NAME AGE ADDRESS COURSE ID COURSE NAME COURSE DESC CREDIT ID COURSE ID[4] GRADE[4] STUDENT COURSE GRADE ฐานข้อมูลระเบียนประวัติการศึกษา นิสิต มหาวิทยาลัยเกษตรศาตร์

5 ID NAME AGE ADDRESS STUDENT in memory STUDENT ID NAME AGE ADDRESS

6 in memory ID COURSE GRADE ID COURSE ID[4] GRADE[4] GRADE

7 What is structure ? Structure – โครงสร้าง คือ กลุ่มของข้อมูล ที่มีชนิดเหมือนกันหรือต่างกันก็ได้ ซึ่งนำมา รวมกลุ่มแล้วเรียกเป็นชื่อเดียวกัน Structure มีประโยชน์มากในการสร้างและ จัดการโครงสร้างข้อมูลที่ซับซ้อน

8 Structure Vs Array Structures ไม่เหมือนกับ arrays –structure สามารถมีชนิดข้อมูลได้หลายแบบ –structure สามารถมี array ในตัวมันเองได้ –structure สามารถเขียนให้ซับซ้อนหรือ ธรรมดาก็ได้ขึ้นอยู่กับความต้องการของ programmer

9 ข้อสังเกตุ ข้อสังเกต struct เป็นคำสงวน ซึ่งมันจะทำ หน้าที่เป็นชนิดข้อมูลชนิดใหม่เรียกว่า aggregate type จุดประสงค์ของ structures คือเป็นการให้ tool สำหรับการสร้างรูปแบบของตัวแปร ตามที่เราต้องการ structure มีส่วนประกอบ 2 ส่วนคือ –structure-name ชื่อของ structure –variables (called members) ภายใน structure ซึ่งทุกตัวแปร variable ภายใน structure เองก็จะมีชื่อของมันเองด้วย

10 Declaration and Syntax structure จะถูกประกาศเหมือนกับการ สร้างแม่แบบของตัวแปร ตัวอย่างการประกาศ ซึ่งทั้งนี้ต้องประกาศไว้ ส่วนหัวของโปรแกรม struct PersonalData { char name[namesize]; char address[addresssize]; int YearOfBirth; int MonthOfBirth; int DayOfBirth; };

11 จากตัวอย่างเป็นการประกาศโครงสร้างของ struct PersonalData โดยที่ประกอบไปด้วย – ตัวแปร string ที่เราจะเรียกว่า name – ตัวแปร string ที่เราจะเรียกว่า address – ตัวแปร integers 3 ตัวที่เราจะเรียกว่า YearOfBirth, MonthOfBirth และ DayOfBirth ตัวแปรใดที่ประกาศชนิดเป็น struct PersonalData ก็จะมีส่วนต่างๆดังที่กล่าวไป แล้ว

12 struct PersonalData { char name[namesize]; char address[addresssize]; int YearOfBirth; int MonthOfBirth; int DayOfBirth; }; name address YearOfBirth PersonalData MonthOfBirth DayOfBirth

13 ขั้นต่อไป เนื่องจากว่าเป็นการสร้างโครงสร้าง ไว้ยังไม่มีเนื้อที่ในหน่วยความจำ เป็นเพียง การประกาศข้อมูลชนิดใหม่ ตัวอย่างการประกาศ struct PersonalData x; เป็นการประกาศตัวแปร x ที่มีชนิดเป็น struct PersonalData

14 struct PersonalData x; name address YearOfBirth X MonthOfBirth DayOfBirth Memory Other variable

15 Declaration and Syntax การนำ structure ที่ประกาศแล้วไปใช้ใน ส่วนอื่นของโปรแกรม struct [ ชื่อโครงสร้าง ] { [ ];. } [ ตัวแปรที่ 1], [ ตัวแปรที่ 2]; รูปแบบการประกาศ structure struct [ ชื่อโครงสร้าง ] [ ตัวแปรที่ 1];

16 ตัวอย่าง หากต้องการสร้างโครงสร้างข้อมูล ที่เก็บจุดใน 2 มิติ พิจารณา – จุดในระบบ 2 มิติ ต้องเก็บข้อมูลอะไรบ้าง –(x, y) ตำแหน่งในแกน x และ y – เก็บเป็นชนิดข้อมูลแบบอะไร

17 XYXY ตำแหน่งในแกน x ตำแหน่งในแกน y

18 Declaration and Syntax (Cont.) รูปแบบการประกาศ structure สามารถทำได้ หลายแบบ struct { int x, y; } p1; struct spoint{ int x, y; } p1; struct spoint{ int x, y; }; struct spoint p1; typedef struct { int x, y; } tpoint; tpoint p1; typedef struct spoint { int x, y; } tpoint; tpoint p1; struct spoint p2;

19 struct spoint{ int x, y; } p1; รูปแบบที่ 1 เป็นการประกาศรูปแบบโครงสร้างและ ตั้งชื่อรูปแบบนี้ว่า spoint พร้อมกับทําการประกาศ ตัวแปรสําหรับโครงสร้างนี้ 1 ตัว คือ p1 การประกาศ โครงสร้างในรูปแบบนี้สามารถนําโครงสร้างนี้ไปใช้ สําหรับการประกาศตัวแปรใหม่ที่มีโครงสร้าง เหมือนกับ p1 ได้โดยไม่ต้องประกาศโครงสร้างนี้ ใหม่ หากต้องการประกาศตัวแปร p3 ซึ่งมีโครงสร้าง รูปแบบเดียวกับ p1 สามารถทําได้โดยเพิ่มคําสั่ง ต่อไปนี้ struct spoint p3;

20 #include struct spoint { int x, y; } p1; struct spoint p2; int main() { struct spoint p3; //... } Example 1 ตัวอย่างที่ 1 ประกาศชื่อ structure พร้อมประกาศ ตัวแปร ชื่อโครงสร้างตัวแปร

21 struct { int x, y; } p1; แบบที่ 2 เป็นการประกาศรูปแบบโครงสร้าง หนึ่งขึ้นมา พร้อมกับการประกาศตัวแปร สำหรับโครงสร้าง 1 ตัว คือ p1

22 Example 2 ตัวอย่างที่ 2 ประกาศตัวแปร แต่ไม่ประกาศชื่อของ structure ตัวแปร #include struct { int x, y; } p1; int main() { //... }

23 struct spoint{ int x, y; }; struct spoint p1; แบบที่ 3 คล้ายกับรูปแบบที่ 1 เป็นการประกาศ โครงสร้างแต่ไม่ประกาศตัวแปรพร้อมกับ ประกาศโครงสร้าง แต่จะมีการประกาศตัวแปรทีหลัง

24 Example 3 ตัวอย่างที่ 3 ประกาศชื่อ structure แต่ประกาศตัว แปรภายหลัง ชื่อโครงสร้างตัวแปร #include struct spoint { int x, y; }; struct spoint p1; int main() { struct spoint p2; //... }

25 typedef typedef ใช้ประกาศชนิดตัวแปรชนิดใหม่ มี รูปแบบคือ typedef ; ตัวอย่างการใช้ typedef typedef struct { int x, y; } tpoint; ประกาศชนิดตัวแปรชื่อ tpoint เป็นแบบ structure typedef int INTEGER; ประกาศชนิดตัวแปรชื่อ INTEGER เป็นชนิด int typedef char[100] char100; ประกาศชนิดตัวแปรชื่อ char100 เป็น array ของ char ขนาด 100

26 typedef struct spoint { int x, y; } tpoint; tpoint p1; struct spoint p2; typedef struct { int x, y; } tpoint; tpoint p1; รูปแบบที่ 4 และ 5 เป็นการกําหนดชนิดข้อมูลใหม่โดยใช้ คําสั่ง typedef เพื่อให้สามารถ อ้างถึงรูปแบบโครงสร้างได้สั้นลงจากรูปแบบที่ 2 เมื่อ ต้องการประกาศตัวแปรใหม่ต้อง อ้างถึงโครงสร้างด้วยคำสั่ง struct spoint point1; หากใช้การประกาศโครงสร้างในรูปแบบที่ 4 หรือ 5 สามารถ ประกาศตัวแปรใหม่ด้วยคําสั่ง tpoint point1;

27 Example 4 ตัวอย่างที่ 4 ประกาศ structure เป็นชนิดตัวแปรชนิดใหม่ พร้อม ประกาศชื่อโครงสร้าง ชื่อโครงสร้างชื่อชนิดข้อมูลตัวแปร #include typedef struct spoint { int x, y; } tpoint; tpoint p1; struct spoint p2; int main() { tpoint p3; struct spoint p4; //... }

28 Example 5 ตัวอย่างที่ 5 ประกาศ structure เป็นชนิดตัวแปรชนิดใหม่ แต่ไม่ ประกาศชื่อ structure ตัวแปรชื่อชนิดข้อมูล #include typedef struct { int x, y; } tpoint; tpoint p1; int main() { tpoint p2; //... }

29 #include struct spoint { int x, y; } p1; int main() { p1.x = 10; } การอ้างถึงสมาชิกของตัวแปร แบบ structure รูปแบบการอ้างถึงสมาชิกของตัวแปรแบบ structure. ตัวอย่าง ใช้งาน p1.x เหมือนตัวแปรปกติ

30 การกำหนดค่าเริ่มต้นให้ตัวแปร แบบ structure รูปแบบการกำหนดค่าเริ่มต้นให้กับตัวแปรแบบ structure struct = { ค่าของสมาชิกตัวที่ 1, ค่า ของสมาชิกตัวที่ 2,…}; ตัวอย่าง struct spoint { int x, y; } p1 = {10,10}; struct spoint p2 = {20,20}; typedef struct spoint { int x, y; } tpoint; tpoint p1 = {10,10};

31 การกำหนดค่าให้ตัวแปร structure p1.x = 10; p1.y = 20; การกำหนดค่าให้ตัวแปรแบบ structure ทำโดยการกำหนดค่าให้กับสมาชิก กำหนดค่าตัวแปร structure โดยตรงไม่ได้ ( ยกเว้นตอนกำหนดค่าเริ่มต้น ) p1 = {10,20}; ตัวแปรแบบ structure ที่เป็นชนิดเดียวกันสามารถกำหนดค่าให้กันได้ p1 = p2; ถ้า p1 และ s2 เป็น structure คนละตัวให้ค่ากันไม่ได้ p1 = s2;

32 การเปรียบเทียบตัวแปร structure if (p1 == p2) การเปรียบเทียบตัวแปร structure ไม่สามารถทำได้โดยตรง การเปรียบเทียบตัวแปร structure ใช้การเปรียบเทียบสมาชิก if ((p1.x == p2.x) && (p1.y == p2.y))

33 การใช้ตัวแปร structure กับ cin และ cout ใช้งานตัวแปรแบบ structure โดยตรง ไม่ได้ การใช้งานใช้ผ่านสมาชิกของ structure นั้น cout << p1; cin >> p1; cout << p1.x << p2.y; Cin >> p1.x >> p2.y;


ดาวน์โหลด ppt Structure. Overview รู้จักกับ structure การประกาศและใช้งาน structure การประกาศและใช้งาน union.

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


Ads by Google