Computer >> Máy Tính >  >> Lập trình >> lập trình C

Con trỏ đến cấu trúc trong ngôn ngữ C là gì?

Con trỏ tới cấu trúc giữ phần bổ sung của toàn bộ cấu trúc.

Nó được sử dụng để tạo cấu trúc dữ liệu phức tạp như danh sách được liên kết, cây, đồ thị, v.v.

Các thành viên của cấu trúc có thể được truy cập bằng một toán tử đặc biệt được gọi là toán tử mũi tên (->).

Tuyên bố

Sau đây là phần khai báo cho con trỏ đến cấu trúc trong lập trình C -

struct tagname *ptr;

Ví dụ - struct student * s -

Đang truy cập

Dưới đây là giải thích cách truy cập con trỏ đến cấu trúc.

Ptr-> membername;

Ví dụ - s-> sno, s-> sname, s-> mark;

Chương trình mẫu

Chương trình sau đây cho thấy cách sử dụng con trỏ đến cấu trúc -

#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 ( );
}

Đầu ra

Hãy để chúng tôi chạy chương trình trên sẽ tạo ra kết quả sau -

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

Ví dụ 2

Hãy xem xét một ví dụ khác giải thích hoạt động của con trỏ tới cấu trúc.

#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;
}

Đầu ra

Hãy để chúng tôi chạy chương trình trên sẽ tạo ra kết quả sau -

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