Bỏ qua đến nội dung
Bỏ qua điều hướng
MT MT.Net.VNDigital Platform
Đăng nhập
MT.NET.VN

MT.Net.VN

Tìm kiếm
MT LEARNING · LESSON

Struct trong C

1 / 3 ❮ ❯ Struct trong C Quản lý bộ nhớ trong lập trình C Mảng của structure trong […]

Struct trong C



Struct trong C



Structure trong C (cấu trúc trong C) là một kiểu dữ liệu người dùng tự định nghĩa (user defined datatype) cho phép bạn lưu trữ các loại phần tử khác nhau.

Mỗi phần tử của một cấu trúc được gọi là một thành viên (member).

Nó hoạt động như một template trong C++ và lớp trong Java. Bạn có thể khai báo các loại phần tử khác nhau trong đó.


Định nghĩa cấu trúc trong C

Từ khóa struct được sử dụng để xác định cấu trúc. Hãy xem cú pháp để định nghĩa cấu trúc trong C.

 struct structure_name {      data_type member1;      data_type member2;      ...      data_type memeberN;  };  

Ví dụ định nghĩa cấu trúc của Employee trong C.

 struct employee {      int id;      char name[50];      float salary;  };  


Khai báo biến cấu trúc

Có hai cách để khai báo biến cấu trúc:

  1. Sử dụng từ khóa struct trong hàm main().
  2. Khai báo biến tại thời điểm định nghĩa cấu trúc.

1. Cách 1

Khai báo biến cấu trúc bên trong hàm main(), ví dụ:

 struct employee {      int id;      char name[50];      float salary;  };    int main() {      struct employee e1, e2;  }  

1. Cách 2

Khai báo biến cấu trúc tại thời điểm định nghĩa cấu trúc, ví dụ:

 struct employee {      int id;      char name[50];      float salary;  } e1, e2;  

Cách tiếp cận nào tốt hơn?

Khi số lượng biến không cố định, sử dụng phương pháp tiếp cận thứ nhất. Nó cung cấp cho bạn sự linh hoạt để khai báo biến cấu trúc nhiều lần. Khi số lượng biến được cố định, sử dụng phương pháp thứ 2.


Truy cập các thành viên của cấu trúc

Có hai cách để truy cập vào các thành viên cấu trúc:

  1. Bởi . (thành viên hoặc toán tử chấm).
  2. Bởi –

Ví dụ:

 e1.id = 17;  e1.name = "Vinh";  e1.salary = 1000;  


Ví dụ cấu trúc (structure) trong C

Ví dụ 1: lưu trữ thông tin của một employee.

 #include<stdio.h>  #include <string.h>    struct employee {      int id;      char name[50];      float salary;  } e1; // khai bao bien e1    int main() {      // luu tru thong tin employee      e1.id = 17;      strcpy(e1.name, "Vinh Tran"); // sao chep string thanh mang char      e1.salary = 1000;      // hien thi thong tin employee ra man hinh      printf("employee 1 id : %dn", e1.id);      printf("employee 1 name : %sn", e1.name);      printf("employee 1 salary : %fn", e1.salary);      return 0;  }  

Kết quả:

employee 1 id : 17  employee 1 name : Vinh Tran  employee 1 salary : 1000.000000  

Ví dụ 2: lưu trữ thông tin của nhiều employee.

 #include<stdio.h>  #include <string.h>    struct employee {      int id;      char name[50];      float salary;  };    int main() {   // khai bao employee e1, e2   struct employee e1, e2;         // luu tru thong tin employee e1      e1.id = 17;      strcpy(e1.name, "Vinh Tran"); // sao chep string thanh mang char      e1.salary = 1000;      // luu tru thong tin employee e2      e2.id = 37;      strcpy(e2.name, "Quy Pham"); // sao chep string thanh mang char      e2.salary = 1700;                // hien thi thong tin employee e1 ra man hinh      printf("employee 1 id : %dn", e1.id);      printf("employee 1 name : %sn", e1.name);      printf("employee 1 salary : %fn", e1.salary);      // hien thi thong tin employee e2 ra man hinh      printf("employee 2 id : %dn", e2.id);      printf("employee 2 name : %sn", e2.name);      printf("employee 2 salary : %fn", e2.salary);          return 0;  }  

Kết quả:

employee 1 id : 17  employee 1 name : Vinh Tran  employee 1 salary : 1000.000000  employee 2 id : 37  employee 2 name : Quy Pham  employee 2 salary : 1700.000000  








Source link

Zalo Messenger Gọi điện Hỗ trợ0
Home Dịch vụ Khóa học CPanel