Cho đến nay, trong loạt bài hướng dẫn lập trình C đang diễn ra, chúng ta đã thảo luận về một số khía cạnh, từ biến đến hàm và thậm chí cả con trỏ. Tuy nhiên, đó vẫn chỉ là bề nổi, vì còn nhiều khái niệm quan trọng khác trong ngôn ngữ lập trình C.
Hôm nay, trong hướng dẫn này, chúng ta sẽ thảo luận về một khái niệm như vậy - khái niệm về cấu trúc.
TAG có thể là bất kỳ tên nào bạn muốn đặt cho cấu trúc này, như emp_details.
Giờ đây, hẳn ai cũng biết rằng các biến được sử dụng để lưu trữ giá trị trong chương trình C. Cho đến nay, chúng ta đã thấy các chương trình/mã sử dụng một hoặc nhiều biến, nhưng chưa bao giờ thấy nhiều biến được nhóm lại với nhau. Đúng, điều đó là có thể và về cơ bản đó là những gì các cấu trúc thực hiện.
Hãy tưởng tượng một trường hợp trong đó mã bạn viết xử lý việc duy trì thông tin chi tiết về nhân viên tại một công ty. Mỗi khi có một nhân viên mới tham gia, chương trình của bạn sẽ được cung cấp tên, tuổi, chức danh và phòng ban của nhân viên đó. Vì vậy, trong trường hợp này, lý tưởng nhất là viết mã theo cách mà tất cả thông tin liên quan đến một nhân viên được coi là một đơn vị duy nhất.
Vì vậy, một tùy chọn để viết mã theo cách này là tạo một cấu trúc nhóm tất cả thông tin liên quan đến nhân viên này. Tất cả những gì bạn cần làm là tạo một thể hiện của cấu trúc (hoặc một biến của kiểu cấu trúc đó) và điền tất cả các chi tiết liên quan đến nhân viên mới.
Sau đây là một số cách bạn có thể tạo các biến kiểu cấu trúc (a, b và c trong trường hợp này):
Lý thuyết đủ rồi, chúng ta hãy lấy một ví dụ dễ hiểu. Giả sử nhóm của bạn gồm 2 thành viên và bạn muốn lưu trữ thông tin chi tiết của họ trên máy tính thông qua một chương trình mà bạn muốn mã hóa bằng C. Đoạn mã sau đây sẽ cung cấp cho bạn ý tưởng cơ bản về cách các cấu trúc có thể hữu ích trong trường hợp đó:
Hôm nay, trong hướng dẫn này, chúng ta sẽ thảo luận về một khái niệm như vậy - khái niệm về cấu trúc.
Cấu trúc trong ngôn ngữ lập trình C
Sau đây là cách khai báo một cấu trúc:
Mã:
struct TAG {
[I]khai báo biến[/I]
[I]khai báo biến[/I]
[I]...[/I]
[I]...[/I]
[I]...[/I]
[I]};[/I]
Giờ đây, hẳn ai cũng biết rằng các biến được sử dụng để lưu trữ giá trị trong chương trình C. Cho đến nay, chúng ta đã thấy các chương trình/mã sử dụng một hoặc nhiều biến, nhưng chưa bao giờ thấy nhiều biến được nhóm lại với nhau. Đúng, điều đó là có thể và về cơ bản đó là những gì các cấu trúc thực hiện.
Hãy tưởng tượng một trường hợp trong đó mã bạn viết xử lý việc duy trì thông tin chi tiết về nhân viên tại một công ty. Mỗi khi có một nhân viên mới tham gia, chương trình của bạn sẽ được cung cấp tên, tuổi, chức danh và phòng ban của nhân viên đó. Vì vậy, trong trường hợp này, lý tưởng nhất là viết mã theo cách mà tất cả thông tin liên quan đến một nhân viên được coi là một đơn vị duy nhất.
Vì vậy, một tùy chọn để viết mã theo cách này là tạo một cấu trúc nhóm tất cả thông tin liên quan đến nhân viên này. Tất cả những gì bạn cần làm là tạo một thể hiện của cấu trúc (hoặc một biến của kiểu cấu trúc đó) và điền tất cả các chi tiết liên quan đến nhân viên mới.
Sau đây là một số cách bạn có thể tạo các biến kiểu cấu trúc (a, b và c trong trường hợp này):
Mã:
struct emp_details {
[I]khai báo biến[/I]
[I]khai báo biến[/I]
[I]...[/I]
[I]...[/I]
[I]...[/I]
}a, b, c;
Mã:
struct emp_details a;
struct emp_details b;
struct emp_details c;
Mã:
#include
struct emp_details {
int emp_code;
int emp_age;
};
int main()
{
struct emp_details employee[2];
printf("\n nhập mã và tuổi của thành viên đầu tiên\n");
scanf("%d", &employee[0].emp_code);
scanf("%d", &employee[0].emp_age);
printf("\n nhập mã và tuổi của thành viên thứ hai\n");
scanf("%d", &employee[1].emp_code);
scanf("%d", &employee[1].emp_age);
for(int i=0; i