Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Struct trong c và cú pháp khai báo đơn giản

Struct trong c và cú pháp khai báo đơn giản

Kiến thức hữu ích

Struct trong c và cú pháp khai báo đơn giản

Các mảng trong C cho phép các bạn định nghĩa một vài loại biến có thể giữ giá trị của một vài thành viên có cùng kiểu dữ liệu. Nhưng Struct trong C, hay structure – cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình này, cho phép các bạn kết hợp với các dữ liệu khác kiểu nhau.

Để tìm hiểu thêm về các nội dung có liên quan đến structure, hãy cùng khám phá những nội dung bên dưới với R2S nhé!

Struct trong C là gì? 

Struct trong c
Struct trong C là gì? 

Struct trong C là một kiểu dữ liệu tùy chỉnh, được sử dụng để lưu trữ các biến có kiểu dữ liệu khác nhau ở một đối tượng duy nhất. Một struct được định nghĩa bằng cách liệt kê tất cả các biến thành viên bên trong nó, và mỗi biến thành viên có thể có một kiểu dữ liệu khác nhau.

Struct trong c được sử dụng để định nghĩa kiểu dữ liệu mới dựa trên kiểu dữ liệu hiện có và có đặc điểm tập hợp được nhiều thành phần có kiểu dữ liệu khác nhau.

Ví dụ định nghĩa kiểu dữ liệu tên là SinhVien gồm các thành phần như họ tên (kiểu chuỗi), nơi sinh (kiểu chuỗi), điểm trung bình (kiểu số), ….

Sử dụng kiểu dữ liệu mở rộng struct trong các yêu cầu như: Chương trình quản lý nhân sự, mỗi nhân sự gồm họ tên, giới tính, ngày sinh, nơi sinh, bằng cách,… Chương trình quản lý điểm của sinh viên. Các thông tin cần quản lý gồm mã sinh viên, họ tên, môn học, điểm,…

Cú pháp khai báo Struct trong C

Cú pháp khai báo
Cú pháp khai báo

Trong C, một struct được định nghĩa bằng cách sử dụng từ khóa “struct” kèm theo tên của nó và nội dung của nó được đặt ở cặp dấu ngoặc nhọn {}. 

Cú pháp được khai báo như sau:

<struct Kiểu_Dữ_Liệu_Mới {  
  Kiểu_Dữ_Liệu  Thành_Phần_1;  
  Kiểu_Dữ_Liệu  Thành_Phần_2;  
  ...  
  Kiểu_Dữ_Liệu  Thành_Phần_n;
};>

Trong đó Kiểu_Dữ_Liệu có thể là int, long, float, double, char. Bên dưới là ví dụ về định nghĩa kiểu dữ liệu date gồm các thành phần như ngày, tháng và năm

<struct date { 
  int ngay; 
  int thang; 
  int nam;
};>

Sử dụng Struct trong c như thế nào?

Trong ngôn ngữ lập trình C, structure là một kiểu dữ liệu tập hợp các biến có kiểu dữ liệu khác nhau, được sử dụng để lưu trữ các đối tượng có tính chất tương tự như nhau. Để khai báo một struct, ta sử dụng từ khóa struct và đặt tên cho struct đó. Sau đó, ta chỉ định các biến bên trong struct và kiểu dữ liệu của chúng. 

Khai báo biến kiểu struct

<Kiểu_Dữ_Liệu_Mới Tên_Biến;>

Ví dụ khai báo biến kiểu date

<date d;>

Truy cập các thành phần bên trong struct trong C

Để truy cập các thành phần bên trong một struct ngôn ngữ lập trình C, bạn có thể sử dụng toán tử dấu chấm “.”

<Tên_Biến.Tên_Thành_Phần;>

Ví dụ truy cập các thành phần của biến d

printf("%d", d.ngay);   //Hiển thị ngày
printf("%d", d.thang);  //Hiển thị tháng
printf("%d", d.nam);   //Hiển thị năm

Bài tập vận dụng: Định nghĩa kiểu dữ liệu môn học biết rằng mỗi môn học gồm tên môn và số giờ.

Một số bài tập thực hành về struct trong c

Bài thực hành số 1: Viết chương trình c lưu tên và tuổi của 5 nhân viên sử dụng mảng cấu trúc (struct). Chương trình cho phép tìm kiếm các thông tin của nhân viên theo tên.

Bài thực hành số 2:  Cho một danh sách Struct trong c lưu thông tin của các thí sinh khi thi xét tuyển vào lớp 10 ban A, thông tin gồm :

  • Số báo danh (chuỗi, 5 ký tự)
  • Họ và tên (chuỗi, tối đa 25 ký tự)
  • Điểm toán (số thực)
  • Điểm lý (số thực)
  • Điểm anh văn (số thực)
  • Điểm tổng (số nguyên, trong đó điểm tổng= điểm toán + điểm lý + điểm anh văn).

Yêu cầu thực hiện:

  • Nhập danh sách thí sinh và điểm
  • Hiển thị thông tin những thí sinh có tổng điểm >= 18 và không có môn nào dưới 5
  • Cập nhật điểm của thí sinh theo mã số (mã số được nhập vào)

Tổng kết

Như vậy, qua bài viết về Struct trong C ở trên, R2S chúng tôi đã giúp bạn hiểu được về định nghĩa kiểu dữ liệu mới với structure, sử dụng kiểu dữ liệu sao cho đúng cách nhất.

Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để học thêm nhiều kiến thức hữu ích về ngôn ngữ lập trình C nhé.

Bài viết gốc được đăng tải tại giasutinhoc.vn

Alert: You are not allowed to copy content or view source !!