โครงสร้างข้อมูล

โครงสร้างข้อมูลในภาษา C

โครงสร้างข้อมูล คือกลุ่มของตัวแปรที่สามารถสร้างและเก็บไว้ในตัวแปรเดียวที่เรียกว่า data structure ในภาษา C เราสามารถสร้างและออกแบบโครงสร้างข้อมูลของเราได้ตามที่ต้องการ โดยโครงสร้างข้อมูลจะมีสมาชิกที่เป็นตัวแปร (members)

การประกาศโครงสร้างข้อมูล

ในภาษา C การประกาศโครงสร้างข้อมูลมีรูปแบบดังนี้

struct struct_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;

เราใช้คำสั่ง struct ในการประกาศโครงสร้างข้อมูล struct_name เป็นชื่อของโครงสร้างข้อมูลโดยมีรูปแบบการตั้งชื่อเหมือนตัวแปร คือเป็นตัวอักษร ตัวเลข และเครื่องหมาย underscore (_) และต้องไม่ขึ้นต้นด้วยตัวเลข ในบล็อคของ structure จะเป็นการประกาศสมาชิก (members) ซึ่งสามารถเป็นได้ทั้งตัวแปรและฟังก์ชัน สำหรับ object_names เป็นตัวแปรออบเจ็คของโครงสร้างข้อมูล ซึ่งเป็นทางเลือกในการประกาศ มาดูตัวอย่าง

struct person {
char name[20];
int age;
float money;
} student, teacher;

ในตัวอย่าง เราได้สร้างโครงสร้างข้อมูลชื่อว่า person โดยมีสมาชิก 3 ตัว โดยเป็นตัวแปรที่เก็บข้อมูลประเภทต่างๆ ที่เป็น name, age และ money สำหรับสมาชิกของโครงสร้างข้อมูล คุณไม่สามารถกำหนดค่าเริ่มต้นเหมือนการประกาศตัวแปรได้ และเราได้สร้างตัวแปรออบเจ็คของโครงสร้างข้อมูลนี้คือ student และ teacher อย่างไรก็ตามเราสามารถสร้างตัวแปรออบเจคนี้ได้ภายหลังเมื่อตอนโปรแกรมรัน โดยใช้คำสั่ง

struct person student, teacher;

การกำหนดค่าและอ่านข้อมูลจากโครงสร้างข้อมูล

หลังจากที่เราได้ประกาศโครงสร้างข้อมูลของเราเรียบร้อยแล้วต่อไปเราจะกำหนดค่าให้กับโครงสร้างข้อมูลของเรา

#include <stdio.h>

struct person {
char name[20];
int age;
float money;
};

int main() {
struct person student, teacher;

strcpy(student.name, "Marcus");
student.age = 18;
student.money = 10.25;

strcpy(teacher.name, "James");
teacher.age = 20;
teacher.money = 49.5;

printf("%s has age %d and money %.2f usd\n", student.name, student.age, student.money);
printf("%s has age %d and money %.2f usd\n", teacher.name, teacher.age, teacher.money);

return 0;
}

ในตัวอย่างเราได้ประกาศตัวแปรออบเจ็คของโครงสร้างข้อมูล person มาสองตัวคือ student และ teacher โดยใช้คำสั่ง

struct person student, teacher;

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

Marcus has age 18 and money 10.25 usd
James has age 20 and money 49.50 usd

ในบทนี้ คุณได้เรียนรู้เกี่ยวกับวิธีการใช้โครงข้างข้อมูลพื้นฐาน


บทความเกี่ยวกับ โครงสร้างข้อมูล

โครงสร้างข้อมูล ในภาษา C++

Data structure เป็นกลุ่มของตัวแปรที่สามารถรวมอยู่ในตัวแปรตัวเดียว เราเรียกว่า structure ตัวแปรที่อยู่ข้างในมันเรียกว่า members members สามารถมีประเภทแระขนาดต่า...

Structs ในภาษา C#

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับโครงสร้างข้อมูลในภาษา C# โครงสร้างข้อมูล (Struct) เป็นตัวแปรที่ใช้สำหรับเก็บค่ามากกว่า 1 ค่าในตัวแปรเดียว โครงสร้างข้อมูลนั้นคล...

Structures ในภาษา Visual Basic

Structures หรือโครงสร้างข้อมูล คือประเภทข้อมูลประเภทหนึ่งในภาษา Visual Basic ที่สามารถมีสมาชิกภายในตัวของมันได้ ลักษณะโครงสร้างของ Structure นั้นจะคล้ายกับคลาส ...