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

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

บทที่ 12 STRUCTURE AND UNION KAIROEK CHOEYCHUEN. Structure คืออะไร - ใช้เก็บข้อมูลแบบโครงสร้าง (structure) - ข้อมูลแบบโครงสร้างคือกลุ่ม ข้อมูลที่อาจสัมพันธ์

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


งานนำเสนอเรื่อง: "บทที่ 12 STRUCTURE AND UNION KAIROEK CHOEYCHUEN. Structure คืออะไร - ใช้เก็บข้อมูลแบบโครงสร้าง (structure) - ข้อมูลแบบโครงสร้างคือกลุ่ม ข้อมูลที่อาจสัมพันธ์"— ใบสำเนางานนำเสนอ:

1 บทที่ 12 STRUCTURE AND UNION KAIROEK CHOEYCHUEN

2 Structure คืออะไร - ใช้เก็บข้อมูลแบบโครงสร้าง (structure) - ข้อมูลแบบโครงสร้างคือกลุ่ม ข้อมูลที่อาจสัมพันธ์ หรือไม่สัมพันธ์กันก็ได้เช่น ข้อมูลพนักงานของบริษัทแห่ง หนึ่ง ชื่อนามสกุลเพศอายุตำแหน่งเงินเดือน ThomasTomasiMale55Director100,000 JohnPakerMale45Computer Eng. 19,000

3 รูปแบบ 1 struct struct_name{ data_type1 var_name1; data_type2 var_name2; … data_type n var_nanme n; } ref_struct_name;

4 ตัวอย่างรูปแบบ 1 struct employee{ char name[10]; char surname[13]; char sex[6]; int age; char position; int salary; } emp;

5 รูปแบบ 2 struct struct_name{ data_type1 var_name1; data_type2 var_name2; … data_type n var_nanme n; }; struct struct_name ref_struct_name;

6 ตัวอย่างรูปแบบ 2 struct employee{ char name[10]; char surname[13]; char sex[6]; int age; char position; int salary; }; Struct employee emp;

7 คีย์เวิร์ด typedef - ใช่สร้างชนิดข้อมูลเฉพาะ ที่ ผู้เขียนโปรแกรมต้องการ รูปแบบ 1: ชนิดข้อมูลปกติ typedef data_type name; รูปแบบ 2: ชนิดข้อมูลโครงสร้าง typedef struct{ data_type1 var_name1; … data_type n var_nanme n; }struct_name; struct_name ref_struct_name;

8 คีย์เวิร์ด typedef ตัวอย่างรูปแบบ 1: ชนิดข้อมูล ปกติ typedef int NUM; typedef char CHA; ตัวอย่างรูปแบบ 2: ชนิดข้อมูล โครงสร้าง typedef struct{ char student_id[10]; int points; float grade; }STUDENT; STUDENT std;

9 struct รูปแบบที่ 2 ตัวอย่าง การกำหนดค่าเริ่มต้นให้ ตัวแปรชนิด struct ตัวอย่างที่ 1 struct person{ char name[10]; int age;}; struct person ps = {“Somchai”, 21};

10 struct รูปแบบที่ 1 ตัวอย่าง การกำหนดค่าเริ่มต้นให้ ตัวแปรชนิด struct ตัวอย่างที่ 2 struct rentroom{ int roomNum; char res_name[10]; char sex; }room1 = {1,“Somchai”}; หมายเหตุ : sex ไม่ถูกกำหนดค่าเริ่มต้น จะเก็บค่า default, เช่น sex เก็บ \0

11 struct รูปแบบ typedef ตัวอย่าง การกำหนดค่าเริ่มต้นให้ ตัวแปรชนิด struct ตัวอย่างที่ 3 typedef struct { int roomNum; char res_name[10]; char sex; }rentroom; rentroom rr = {1,“Somying”, ‘F’};

12 Read and write structured data การอ่านและเขียนข้อมูล แบบโครงสร้าง รูปแบบการอ่านฯ ตัวแปรรับค่า = ref_name_struct.data_type; รูปแบบการเขียนฯ ref_name_stract.data_type = ข้อมูล ;

13 เขียน ข้อมูล ใส่ rr หมายเหตุ : //atoi แปลง สตริง เป็น จำนวนเต็ม # รูปแบบ : จำนวนเต็ม = atoi( สตริง ); //atof แปลง สตริง เป็น จำนวนจริง # รูปแบบ : จำนวนจริง = atof( สตริง ); อ่าน ข้อมูล จาก rr Run program

14 การคัดลอกข้อมูลระหว่าง สตรัคเจอร์ struct number{ int a; char b; float c; }num1 = {1, ‘a’, 1.1}, num2 = {2, ‘b’, 2.2}; num1 = num2; คัดลอกข้อมูลจาก num2 ไป num1

15 สตรัคเจอร์ซ้อนสตรัคเจอร์ (Nested structure) struct time{ int hour; int min; int sec; }; struct sms{ char sender[10]; char msg[40]; struct time t; }; ประกาศ สตรัค time ใน สตรัค sms struct sms s = {“Kairoek”, “Hello”, {16,54,55}}; กำหนดค่าเริ่มต้น สตรัค time ใน สตรัค sms ด้วย สัญลักษณ์ {…} s.t.hour = 17; strcpy(s.msg, “Hi”); เปลี่ยนค่า hour ใน สตรัค time ของ สตรัค sms และค่า msg ใน สตรัค sms

16 อาร์เรย์ของสตรัคเจอร์ struct number{ int a; char b; float c; }num1 = {1, ‘a’, 1.1}, num2 = {2, ‘b’, 2.2}; ประกาศ อาร์เรย์ของ สตรัค num จำนวน 2 ตัว พร้อมกำหนดค่าเริ่มต้น struct number{ int a; char b; float c; }num[2] = {{1, ‘a’, 1.1}, {2, ‘b’, 2.2}};

17 การกำหนดค่าให้อาร์เรย์ของสตรัคเจอร์ struct number{ int a; char b; float c; }num[2] = {{1, ‘a’, 1.1}, {2, ‘b’, 2.2}}; num[0].a = 11; num[0].b = ‘c’; num[0].c = 1.2; num[1].a = 12; num[1].b = ‘d’; num[1].c = 11; int i; for (i = 0;i<2;i++) { scanf("%d",&num[i]. a); getche(num[i].b); scanf("%f",&num[i]. c); } หรือ

18 พอยน์เตอร์ของสตรัคเจอร์ typedef struct{ int a; char b; } TEST; TEST t = {1, ‘a’}; TEST *pt; pt = &t; t.a = 2; (*pt).a = 3; pt->a = 4; กำหนด พอยน์ เตอร์ pt เป็น ชนิด TEST กำหนด พอยน์เตอร์ pt ชี้ที่ สตรัค t กำหนดค่าให้กับ สมาชิก a ของสตรัค t ทำได้ 3 แบบ

19 ฟังก์ชันที่มีการรับค่าและส่งค่าของสตรัคเจอร์ รูปแบบฟังก์ชันโปรโตไทป์ struct ชื่อสตรัค ชื่อฟังก์ชัน (struct ชื่อสตรัค ) รูปแบบฟังก์ชัน struct ชื่อสตรัค ชื่อฟังก์ชัน (struct ชื่อสตรัค ชื่อตัวแปรชนิดสตรัค )

20 ฟังก์ชันที่มีการรับค่าและส่งค่าของสตรัคเจอร์ #include struct data change(struct data); struct data{ int a; char b;}d = {1, ‘A’}; main(){ printf(“Before\n”); printf(“a = %d\n”, d.a); printf(“b = %c\n”, d.b); d = change(d); printf(“after\n”); printf(“a = %d\n”, dd.a); printf(“b = %d\n”, dd.b); struct data change(stract data dt){ dt.a = 2; dt.b = ‘B’; return dt; } ต่อ

21 Union ( ยูเนียน ) - เป็นข้อมูลชนิดโครงสร้างเช่นเดียวกับ structure - สมาชิกแต่ละตัวใน ยูเนียน ใช้หน่วยความจำร่วมกัน structureunion struct s1{ int a; float b; char c[5]; }ss1; union u1{ int a; float b; char c[5]; }uu1;

22 structure union struct s1{ int a; float b; char c[5]; }ss1; union u1{ int a; float b; char c[5]; }uu1; abc a b c หน่วยความจำ

23 #include union number{ int x; double y; }; void main() { union number value; value.x = 100; value.y = ; printf(“Value of x = %d\n”, value.x); printf(“Value of y = %f\n”, value.y); }


ดาวน์โหลด ppt บทที่ 12 STRUCTURE AND UNION KAIROEK CHOEYCHUEN. Structure คืออะไร - ใช้เก็บข้อมูลแบบโครงสร้าง (structure) - ข้อมูลแบบโครงสร้างคือกลุ่ม ข้อมูลที่อาจสัมพันธ์

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


Ads by Google