Struct là 1 trong kiểu dữ liệu bao gồm nhiều thành phần có thể thuộc nhiều kiểu tài liệu khác nhau. Các thành phần được truy nã nhập thông qua 1 tên.Bạn đang xem: Struct là gì

Khái niệm cấu tạo

Một cấu trúc bao hàm các mẫu tài liệu (không tuyệt nhất thiết cùng kiểu) được đội lại cùng với nhau.

Bạn đang xem: Struct là gì


*

Việc định nghĩa kết cấu sẽ tạo nên kiểu tài liệu mới được cho phép người dùng sử dụng chúng để khai báo những biến vẻ bên ngoài cấu trúc.

Các phát triển thành trong kết cấu được gọi là các thành phần của kết cấu hay nhân tố của cấu trúc

– lúc một cấu tạo đã được định nghĩa, bạn có thể khai báo một hoặc nhiều biến áp dụng kiểu này.– Ví dụ: struct mèo books1;– Câu lệnh này đã dành đầy đủ vùng nhớ nhằm lưu trữ toàn bộ các mục trong một cấu trúc.
*

Khởi chế tạo ra cấu trúc

Giống như các biến khác và mảng, các biến kiểu cấu tạo có thể được khởi chế tạo ra tại thời khắc khai báoCác đổi mới emp1 với emp2 có kiểu employee có thể được khai báo và khởi tạo nên như sau:

struct employee emp1 = 346, “Abraham”;struct employee emp2 = 347, “John”;

Truy cập thành phần của cấu trúc

Các phần tử của cấu tạo được truy vấn thông qua việc sử dụng toán tử chấm (.), toán tử này có cách gọi khác là toán tử thành viên – membership. Cú pháp:

structure_name.element_name

 Ví dụ:

scanf(“%s”, books1.bk_name);

Gán áp dụng cấu trúc

Có thể thực hiện câu lệnh gán dễ dàng để gán quý hiếm của một biến kết cấu cho một đổi thay khác gồm cùng kiểu Chẳng hạn, nếu như books1 và books2 là những biến kết cấu có thuộc kiểu, thì câu lệnh sau là vừa lòng lệ

books2 = books1;

Sao chép cấu trúc

Do hình dáng dữ liệu kết cấu là tinh vi nên trong một số trường hòa hợp không thể dùng câu lệnh gán trực tiếp, thì rất có thể sử dụng hàm memcpy(), đây là hàm tất cả sẵn trong thư viện lập trìnhCú pháp:

memcpy (char * destn, char &source, int nbytes);

Ví dụ:

memcpy (&books2, &books1, sizeof(struct cat));

Cấu trúc lồng nhau

Một kết cấu có thể lồng vào một kết cấu khác. Tuy nhiên, một kết cấu không thể lồng trong chủ yếu nó.

struct issue

char borrower ;char dt_of_issue;struct cat books;

issl;

Việc truy vấn vào các thành phần của cấu trúc này tương tự như cùng với cấu trúc thông thường khác,issl.borrowerĐể truy cập vào thành phần của kết cấu cat là 1 phần của cấu trúc isslissl.books.author

Mảng kết cấu

Một kiểu cấu tạo phải được khái niệm trước, sau đó một phát triển thành mảng gồm kiểu cấu trúc tương ứng new được khai báoVí dụ: struct cat books;Để truy vấn vào thành phần tác giả của bộ phận thứ tứ của mảng books ta làm như sau:

books.author

Khởi tạo những mảng cấu trúc

Mảng cấu tạo được khởi tạo bằng cách liệt kê danh sách các giá trị bộ phận của nó bên dưới dạng liệt kê Ví dụ:struct unit{char ch;int i;
*

*

*

#include #include Bước 3: Khai báo struct HinhChuNhat mang đến chương trình.

struct HinhChuNhat int Dai;int Rong;;Bước 4: Viết các khai báo nguyên mẫu mã hàm cho chương trình như sau:

void NhapThongTinHCN(HinhChuNhat &pHcn);void XuatThongTinHCN(HinhChuNhat pHcn);void TinhChuViHcn(HinhChuNhat pHcn);void TinhDienTichHcn(HinhChuNhat pHcn); Bước 5: Viết hàm main để xúc tiến chương trình.

void main()HinhChuNhat hinhchunhat;NhapThongTinHCN(hinhchunhat);XuatThongTinHCN(hinhchunhat);TinhChuViHcn(hinhchunhat);TinhDienTichHcn(hinhchunhat);getch(); Bước 6: Viết những định nghĩa hàm cần thiết cho công tác như sau:

void NhapThongTinHCN(HinhChuNhat &pHcn)printf("Moi ban nhap chieu dai hcn=");scanf_s("%d",&pHcn.Dai);printf("Moi ban nhap chieu rong hcn=");scanf_s("%d",&pHcn.Rong); //================================void XuatThongTinHCN(HinhChuNhat pHcn)printf("Chieu dẻo hcn la=%d",pHcn.Dai);printf(" Chieu rong hcn la=%d",pHcn.Rong);//===============================void TinhChuViHcn(HinhChuNhat pHcn)printf(" Chu vi hcn la=%d",(pHcn.Dai+pHcn.Rong)*2);//================================void TinhDienTichHcn(HinhChuNhat pHcn)printf(" Dien tich hcn la=%d",pHcn.Dai*pHcn.Rong);Bài tập tương tự1. Khai báo kết cấu PhanSo quan trọng lưu trữ thông tin phân số, sau đó thực hiện các chức năng:

Viết hàm nhập vào phân số.Viết hàm xuất phân số.Kiểm tra phân số mẫu cần khác 0.Viết hàm buổi tối giản phân số.Viết hàm quy đồng 2 phân số.Nhập vào 2 phân số. Tính tổng, hiệu, tích và thương của hai phân số.

2. Khai báo cấu tạo NhanVien tàng trữ thông tin:

Mã số nhân viênTên nhân viênSố ngày côngLương 1 ngày côngChức vụ

Sau đó thực hiện các chức năng:

Nhập thông tin cho một nhân viên.Tính lương cho một nhân viên theo bí quyết : Luong= Số ngày công * Lương 1 ngày công.Tính tiền thưởng mang đến nhân viên, biết rằng thưởng 50$ cho nhân viên làm trên 24 ngày.

Xem thêm: Khách Hàng Tiềm Năng Tiếng Anh Là Gì, Và Các Vấn Đề Xung Quanh

Tính tiền phụ cấp chức vụ:

Giám đốc: 100$Phó giám đốc: 80$Trưởng phòng: 40$Phó phòng: 20$Tính tiền thực phẩm lãnh cho nhân viên bằng lương + thưởng + phụ cấp chức vụ.

3. Hãy khai báo một cấu trúc mô tả một điểm bên trên tọa độ xOy. Tiếp đến viết hàm triển khai các công dụng sau:

Nhập, xuất điểm.Kiểm tra điểm tất cả nằm bên trên trục tung/trục hoành.Tính khoảng cách giữa 2 điểm.Tìm điểm đối xứng của 1 điểm qua trục tung/trục hoành

4. Cho tin tức điểm những môn học sau: NNLT, Tin học, Toán A1. Hãy khai báo một kết cấu mô tả điểm các môn học của 1 sinh viên. Tiếp đến viết hàm thực hiện các tác dụng sau:

Nhập, xuất tin tức điểm của 1 sinh viên.Tính điểm mức độ vừa phải 3 môn.Xếp một số loại cho sinh viên kia theo điều kiện:Xuất sắc: ĐTB>=9Giỏi với: 8.0Khá với: 6.5Trung bình: 5.0Yếu: ĐTBMảng Struct với ví dụ ứng dụng