Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

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


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

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

Dạng chung khai báo cấu trúc:

kiểu_dữ_liệu thành_viên1; 
struct tên_thẻ{ 
    kiểu_dữ_liệu thành_viên2; 
    kiểu_dữ_liệu thành_viên_n; 
};

Ở đây:

  • struct là từ khóa.
  • tên_thẻ chỉ tên cấu trúc.
  • thành_viên1, thành_viên2 chỉ các mục dữ liệu cấu thành cấu trúc.

Ví dụ:

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

Biến cấu trúc

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

Phương pháp 1

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

Phương pháp 2

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

Phương pháp 3

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 thành viên và biến cấu trúc thiết lập bằng toán tử thành viên (hoặc dấu chấm).

Khởi tạo có thể làm theo các phương pháp:

Phương pháp 1

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

Phương pháp 2

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

Phương pháp 3 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ụ

Chương trình C so sánh 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 va student3 giong nhau\n\n"); 
        printf("%d %s %f\n", student3.number, student3.name, student3.marks); 
    } else 
        printf("\nstudent2 va student3 khac nhau\n\n"); 
}

Đầu ra

Kết quả chạy chương trình:

student2 va student3 giong nhau 
2 Bobby 167.000000