input license here

Struct trong C

Xin chào mừng bạn đến với bài học lập trình c cơ bản, hôm nay mình sẽ tiếp tục hướng dẫn cho các bạn bài học struct trong c một cách chi tiết và cụ thể nhất, các bạn có thể thao khảo qua bài viết dưới đây.

Nôi dung bài học


  1. Giới thiệu về Struct
  2. Cú pháp Struct
  3. Cách khai báo biến kiểu struct trong C
  4. Truy xuất thuộc tính của struct
  5. Từ khoá typedef
  6. Cấu trúc struct lồng nhau

Giới thiệu về Struct

Trong hướng dẫn này, bạn sẽ tìm hiểu về các kiểu cấu trúc trong Lập trình C. Bạn sẽ học cách định nghĩa và sử dụng các cấu trúc với sự trợ giúp của các ví dụ.
Trong lập trình C, struct (hoặc cấu trúc) là một tập hợp các biến (có thể thuộc các loại khác nhau) dưới một tên duy nhất.
Struct trong C

Struct là Một cấu trúc trong ngôn ngữ lập trình C là một khai báo kiểu dữ liệu tổng hợp xác định danh sách các biến vật lý được nhóm theo một tên trong một khối bộ nhớ, cho phép các biến khác nhau được truy cập thông qua một con trỏ hoặc bằng tên khai báo struct trả về cùng địa chỉ.

Cú pháp Struct

struct structureName
{
    dataType member1;
    dataType member2;
    ...
};
Ví dụ:
struct Nhanvien {
   int maNV;
    char ho[20];
    char ten[20];
    bool gioiTinh;
    char queQuan[100];
}

Cách khai báo biến kiểu struct trong C

Khi một kiểu cấu trúc được khai báo, không có bộ nhớ hoặc bộ nhớ được phân bổ. Để phân bổ bộ nhớ của một loại cấu trúc nhất định và làm việc với nó, chúng ta cần tạo các biến.

Đây là cách chúng tôi tạo các biến cấu trúc:
struct NhanVien {
  int maNV;
  char ho[20];
  char ten[20];
  bool gioiTinh;
  char queQuan[100];
};
int main(){
// khai báo 2 biến nv1 và nv2 có kiểu nhân viên
NhanVien nv1,nv2;
// khai báo biến kiểu struct
struct NhanVien nv3,nv4;
// khai báo mảng
struct NhanVien nv[100];
return 0;
}

Truy xuất thuộc tính của struct

Với ngôn ngữ lập trình C thì chúng ta có 2 toán tử dùng để truy xuất tới các biến thành viên của struct.
Sử dụng dấu "." => dùng để truy xuất cả biến của biến bình thường
sử dụng -> => dùng để truy xuất các biến khi khai báo biến con trỏ.
sau đây là ví dụ truy xuất.
NhanVien nv
printf("giới tính: %s",nv.gioiTinh);

Từ khóa typedef

khi bạn sử dụng từ khoá typedef điều đó có nghĩa là bạn muốn thay đổi kiểu dữ liệu của struct đã có, nó dùng để đơn giản hoá cấu trúc hơn khi bạn khai báo biến,mặc dù nó có thể dùng khai báo biến nguyên thuỷ.
struct Distance{
    int feet;
    float inch;
};
int main() {
    struct Distance d1, d2;
}
code trên tương đương với:
typedef struct Distance{
    int feet;
    float inch;
} distances;
int main() {
    distances d1, d2;
}

Cấu trúc struct lồng nhau

Giả sử bạn muốn xây dựng kiểu dữ liệu để lưu trữ đối tượng Tam giác, khi đó chúng ta có thể xây dựng struct mô tả tọa độ của 1 điểm, khi đó đối tượng tam giác sẽ là 3 đối tượng điểm. Cụ thể:
struct Point{
    int x; // hoành độ
    int y; // tung độ
};

struct Triangle{
    Point a; // đỉnh thứ 1
    Point b; // đỉnh thứ 2
    Point c; // đỉnh thứ 3
}

int main(){
    Triangle tg;
 
    // truy xuất hoành độ của điểm thứ nhất
    tg.a.x = 5;
}
Bài trước: Hàm xử lý chuỗi trong C 
Related Posts
Diệp Quân
Nguyen Manh Cuong is the author and founder of the vmwareplayerfree blog. With over 14 years of experience in Online Marketing, he now runs a number of successful websites, and occasionally shares his experience & knowledge on this blog.
SHARE

Related Posts

Subscribe to get free updates

Post a Comment

Sticky