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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
Advertisements

บทที่ 4 การออกแบบ User Interface
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
Lists Data Structure LAUKHWAN NGAMPRASIT LAUKHWAN NGAMPRASIT.
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ข้อมูลชนิดอาร์เรย์ Array (บทที่ 5)
ข้อมูลชนิดโครงสร้าง (Structure Data)
ตัวแปรชนิดโครงสร้าง (Structure)
Data Type part.II.
Data Type part.III.
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
Lecture 10: อาร์เรย์หนึ่งมิติ
Structure Programming
ชนิดของข้อมูลและตัวดำเนินการ
Structure.
LAB # 5 Computer Programming 1 1.
Week 6 ประกาศค่าตัวแปร.
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
รับและแสดงผลข้อมูล.
อาเรย์ (Array).
ตัวแปรชุด.
Lecture no. 6 Structure & Union
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
ตัวแปรแบบโครงสร้าง.
บทที่ 12 Structure and union Kairoek choeychuen
C Programming Lecture no. 9 Structure.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
ข้อมูลพื้นฐานและตัวดำเนินการ
อาร์เรย์และข้อความสตริง
บทที่ 2 อาร์เรย์ อาร์เรย์ คือ ชุดของตัวแปรเดียวกัน ซึ่งสมาชิกของอาร์เรย์จะเป็นตัวแปรพื้นฐาน จำนวนสมาชิกในอาร์เรย์มีขนานแน่นอน และสมาชิกของอาร์เรย์แต้ละตัว.
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
ตัวแปรกับชนิดของข้อมูล
ตัวแปรในภาษา JavaScript
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ตัวแปรกับชนิดของข้อมูล
Lecture 4 เรคอร์ด.
Week 2 Variables.
Week 12 Engineering Problem 2
Computer Programming for Engineers
ความหมาย การประกาศ และการใช้
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
บทที่ 10 สตริง.
หลักการสร้างสรรค์ชุดคำสั่ง ๓
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
PHP การตรวจสอบเงื่อนไข.
บทที่ 9 พอยเตอร์. สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น พอยเตอร์ (Pointer) พอยเตอร์คือต้นฉบับของชนิดข้อมูล เป็นชนิด ข้อมูลที่สร้างจากข้อมูลมาตรฐานชนิดหนึ่ง.
Java Programming Java Structure and Datatype,Variable
หลักการเขียนโปรแกรม ( )
บทที่ 1 ระบบคอมพิวเตอร์.
บทที่ 2 ฟังก์ชันใน Visual Basic 6.0
หลักการเขียนโปรแกรม ( )
1. Global variable คือ ตัวแปรที่กำหนดหรือประกาศไว้นอกฟังก์ชันใด ๆ ทุกฟังก์ชัน สามารถนำตัวแปรประเภท Global ไปใช้ได้ทุกฟังก์ชัน.
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 6 คำสั่งเงื่อนไข.
บทที่ 2 โครงสร้างของภาษา C.
ตัวแปร และชนิดข้อมูล.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การเขียนโปรแกรม (ภาษาซี)
การรับและแสดงผลข้อมูล (Input/Output)
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
Programming assignments ชื่องาน (subject) : program เขียนด้วยภาษา C หรือ C++ มีทั้งหมด 7 ข้อ กำหนดส่ง 29 กรกฎาคม 2554.
Variable, Constant. Variable คือชื่อที่ตั้งขึ้นมาเพื่อจองพื้นที่ใน หน่วยความจำสำหรับ พักข้อมูล.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น ข้อมูลแบบยูเนียน ข้อมูลแบบยูเนียน (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] สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น