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

Chương trình C để so sánh các biến cấu trúc

Trong ngôn ngữ lập trình C, cấu trúc là một tập hợp các biến kiểu dữ liệu khác nhau, được nhóm lại với nhau dưới một tên duy nhất.

Khai báo và khởi tạo cấu trúc

Hình thức chung của một khai báo cấu trúc như sau -

datatype member1;
struct tagname{
   datatype member2;
   datatype member n;
};

Đây,

  • struct là một từ khoá.
  • tagname chỉ định tên của cấu trúc.
  • member1, member2 chỉ định các mục dữ liệu tạo nên cấu trúc.

Ví dụ,

struct book{
   int pages;
   char author [30];
   float price;
};

Các biến cấu trúc

Có ba phương pháp khai báo biến cấu trúc như sau -

Phương pháp đầu tiên

struct book{
   int pages;
   char author[30];
   float price;
}b;

Phương pháp thứ hai

struct{
   int pages;
   char author[30];
   float price;
}b;

Phương pháp thứ ba

struct book{
   int pages;
   char author[30];
   float price;
};
struct book b;

Khởi tạo và truy cập cấu trúc

Liên kết giữa một thành viên và một biến cấu trúc được thiết lập bằng cách sử dụng một toán tử thành viên (hoặc) một toán tử dấu chấm.

Quá trình khởi tạo có thể được thực hiện theo các phương pháp sau -

Phương pháp đầu tiên

struct book{
   int pages;
   char author[30];
   float price;
} b = {100, “balu”, 325.75};

Phương pháp thứ hai

struct book{
   int pages;
   char author[30];
   float price;
};
struct book b = {100, “balu”, 325.75};

Phương pháp thứ ba bằng cách sử dụng toán tử thành viên

struct book{
   int pages;
   char author[30];
   float price;
} ;
struct book b;
b. pages = 100;
strcpy (b.author, “balu”);
b.price = 325.75;

Ví dụ

Sau đây là chương trình C để so sánh các biến cấu trúc -

struct class{
   int number;
   char name[20];
   float marks;
};
main(){
   int x;
   struct class student1 = {001,"Hari",172.50};
   struct class student2 = {002,"Bobby", 167.00};
   struct class student3;
   student3 = student2;
   x = ((student3.number == student2.number) &&
   (student3.marks == student2.marks)) ? 1 : 0;
   if(x == 1){
      printf("\nstudent2 and student3 are same\n\n");
      printf("%d %s %f\n", student3.number,
      student3.name,
      student3.marks);
   }
   else
   printf("\nstudent2 and student3 are different\n\n");
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

student2 and student3 are same
2 Bobby 167.000000