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

ตัวชี้ไปยังโครงสร้างในภาษา C คืออะไร?


ตัวชี้ไปยังโครงสร้างถือเป็นส่วนเสริมของโครงสร้างทั้งหมด

ใช้เพื่อสร้างโครงสร้างข้อมูลที่ซับซ้อน เช่น รายการเชื่อมโยง ต้นไม้ กราฟ และอื่นๆ

สามารถเข้าถึงสมาชิกของโครงสร้างได้โดยใช้ตัวดำเนินการพิเศษที่เรียกว่าตัวดำเนินการลูกศร ( -> )

ประกาศ

ต่อไปนี้เป็นคำประกาศสำหรับตัวชี้ไปยังโครงสร้างในการเขียนโปรแกรม C -

struct tagname *ptr;

ตัวอย่างเช่น − struct นักเรียน *s −

การเข้าถึง

มีการอธิบายวิธีเข้าถึงตัวชี้ไปยังโครงสร้างด้านล่าง

Ptr-> membername;

ตัวอย่างเช่น − s->sno, s->sname, s->marks;

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

โปรแกรมต่อไปนี้แสดงการใช้ตัวชี้ไปยังโครงสร้าง -

#include<stdio.h>
struct student{
   int sno;
   char sname[30];
   float marks;
};
main ( ){
   struct student s;
   struct student *st;
   printf("enter sno, sname, marks:");
   scanf ("%d%s%f", & s.sno, s.sname, &s. marks);
   st = &s;
   printf ("details of the student are");
   printf ("Number = %d\n", st ->sno);
   printf ("name = %s\n", st->sname);
   printf ("marks =%f\n", st ->marks);
   getch ( );
}

ผลลัพธ์

ให้เราเรียกใช้โปรแกรมข้างต้นที่จะให้ผลลัพธ์ดังต่อไปนี้ -

enter sno, sname, marks:1 Lucky 98
details of the student are:
Number = 1
name = Lucky
marks =98.000000

ตัวอย่างที่ 2

ลองพิจารณาอีกตัวอย่างหนึ่งที่อธิบายการทำงานของพอยน์เตอร์ไปยังโครงสร้าง

#include<stdio.h>
struct person{
   int age;
   float weight;
};
int main(){
   struct person *personPtr, person1;
   personPtr = &person1;
   printf("Enter age: ");
   scanf("%d", &personPtr->age);
   printf("Enter weight: ");
   scanf("%f", &personPtr->weight);
   printf("Displaying:\n");
   printf("Age: %d\n", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}

ผลลัพธ์

ให้เราเรียกใช้โปรแกรมข้างต้นที่จะให้ผลลัพธ์ดังต่อไปนี้ -

Enter age: 45
Enter weight: 60
Displaying:
Age: 45
weight: 60.000000