Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

Pointer to Structure (พอยน์เตอร์ไปยังโครงสร้าง) ในภาษา C

Pointer to Structure** คือตัวแปรพอยน์เตอร์ที่เก็บที่อยู่ของโครงสร้าง (Struct) ทั้งหมด ใช้สร้างโครงสร้างข้อมูลซับซ้อน เช่น Linked List, Tree, Graph

การประกาศ

struct tagname *ptr;

ตัวอย่าง: struct student *s;

การเข้าถึงสมาชิก

ใช้ Arrow Operator (->) แทน Dot Operator (.)

ptr->membername;

ตัวอย่าง: s->sno, s->sname, s->marks

ตัวอย่างโปรแกรม

#include <stdio.h>

struct student {
    int sno;
    char sname[30];
    float marks;
};

int main() {
    struct student s;
    struct student *st;
    
    printf("Enter sno, sname, marks: ");
    scanf("%d %s %f", &s.sno, s.sname, &s.marks);
    
    st = &s;  // st ชี้ไปที่ s
    
    printf("\nStudent Details:\n");
    printf("Number = %d\n", st->sno);
    printf("Name = %s\n", st->sname);
    printf("Marks = %.2f\n", st->marks);
    
    return 0;
}

ผลลัพธ์

Enter sno, sname, marks: 1 priya 34

Student Details:
Number = 1
Name = priya
Marks = 34.00

ประโยชน์ของ Pointer to Structure

  • ส่งผ่านฟังก์ชันได้โดยไม่ต้องคัดลอกโครงสร้างทั้งหมด (Pass by reference)
  • จำเป็นสำหรับ Dynamic Data Structures (Linked List, Tree, Graph)
  • จัดการหน่วยความจำได้มีประสิทธิภาพมากขึ้น