Structure c/c++

29 Nov 2015

Share to:

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

struct employee{
    char name[100];
    char laseName[100];
    char dept[100];
    char position[100];
    float salary;
};
struct employee emp;

จะเห็นว่าชนิดต้องมูลของพนักงานบริษัทแต่ละคน ไม่ว่าจะเป็นชือ, นามสกุล, แผนก, ตําแหน่ง, หรือเงินเดือน แม้จะเป็นชนิดข้อมูลที่แตกต่างกัน แต่สามารถเก็บไว้ใน Structure เดียวกันได้

รูปแบบการประกาศข้อมูลแบบ Structure

รูปแบบการประกาศข้อมูลแบบ structure สามารทําได้ 2 รูปแบบคือ แบบที่ 1

struct ชื่อตัวแปรสตรัคเจอร์{
    ชนิดข้อมูลตัวที่1 ชื่อตัวแปบตัวที่1
    ชนิดข้อมูลตัวที่2 ชื่อตัวแปบตัวที่2
    ชนิดข้อมูลตัวที่3 ชื่อตัวแปบตัวที่3
    ...
    ชนิดข้อมูลตัวที่n ชื่อตัวแปบตัวที่n
} ชื่อตัวแปรที่ใช้อ้างอิงสตรัคเจอร์;

ตัวอย่าง

struct student{
    char student_id;
    int point;
    float grade;
}std;

แบบที่ 2

struct ชื่อตัวแปรสตรัคเจอร์{
    ชนิดข้อมูลตัวที่1 ชื่อตัวแปบตัวที่1
    ชนิดข้อมูลตัวที่2 ชื่อตัวแปบตัวที่2
    ชนิดข้อมูลตัวที่3 ชื่อตัวแปบตัวที่3
    ...
    ชนิดข้อมูลตัวที่n ชื่อตัวแปบตัวที่n
};
struct ชื่อตัวแปรที่ใช้อ้างอิงสตรัคเจอร์;

ตัวอย่าง

struct student{
    char student_id;
    int point;
    float grade;
};
struct student std;

การกําหนดค่าเริ่มต้นให้กับสมาชิกของ Structure

การกําหนดค่าเริ่มต้นให้กับสมาชิกของ Structure นั้น มีหลักการคล้ายกับการกําหนดค่าเริ่มต้นให้กับตัวแปร Array คือจะต้องกําหนดค่าเริ่มต้นไว้ใน { } และแยกแต่ละค่าด้วย ,(Comma) เช่น

struct person{
    char name[100];
    int age;
};
struct person ps = {"Thiti", 20};

การเข้าถึงสมาชิกแต่ละตัวของ Structure

รูปแบบการเข้าถึงสมาชิคของ Structure คือ

ชื่อตัวแปรอ้างอิงสตรัคเจอร์.สมาชิก

เช่น

struct person{
    char name[100];
    int age;
};
struct person ps = {"Thiti", 20};
printf("Name: %s", ps.name); //จะได้ชื่อออกมา
printf("Age: %s", ps.age); //จะได้อายุออกมา
ps.age = 15; //กําหนดค่า 15 ให้กับสมาชิก age


จากตัวอย่างจะดึงข้อมูลของสมาชิก name และ age ออกมาจากตัวแปร structure ps และกําหนดค่า 15 ให้กับตัวแปร age


Copyright © 2019 - 2024 thiti.dev |  v1.19.0 |  Privacy policy |  status | 

            วงแหวนเว็บ