Structure c/c++

29 Nov 2015,
Share: 

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

Suggestion blogs

Go EP.11 Panic ในภาษา Go

สวัสดีครับ ในบทความนี้ก็เป็น EP.11 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Panic คืออะไร ใช้ทําอะไร และมีวิธีการใช้อย่างไรสําหรับท่านใดที่ยังไม่ได้อ่าน EP.10 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.10 Defer ในภาษา Goมาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ

ใช้ Docker Compose กับ Docker Swarm

สวัสดีครับจากบทความตอนที่แล้ว "เริ่มต้นใช้ Docker Swarm" เราได้เรียนรู้พื้นฐานการใช้งาน Docker Swarm กันไปแล้ว ในบทความนี้เราจะมาต่อยอดโดยนํา Docker Compose มาใช้ใน Docker Swarm เพราะในงานจริงเราจะได้ทํางานได้ง่ายและสะดวกขึ้น ก่อนที่จะอ่านบทความนี้ควรจะต้องมีความรู้ในเรื่องของ Docker Swarm และ Docker Compose ก่อน กลับไปอ่านได้ที่นี่

Get size of text in pixel C#

วิธีหาขนาดของข้อความ ว่ามีขนาดความกว้าง และความสูงกี่ Pixel ทําได้ด้วยตัวอย่าง Function นี้


Copyright © 2019 - 2026 thiti.dev |  v1.61.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ