Struct là 1 trong mẫu mã tài liệu bao gồm nhiều yếu tắc hoàn toàn có thể nằm trong nhiều kiểu tài liệu khác biệt. Các yếu tắc được truy vấn nhập thông sang một thương hiệu.

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

Khái niệm kết cấu

Một cấu tạo bao hàm các chủng loại dữ liệu (không nhất thiết thuộc kiểu) được đội lại với nhau.


*

Việc có mang cấu tạo sẽ tạo ra đẳng cấp tài liệu new chất nhận được người tiêu dùng thực hiện chúng để khai báo những đổi mới đẳng cấp cấu tạo.

Các biến đổi trong kết cấu được Call là những bộ phận của kết cấu giỏi nguyên tố của cấu trúc


– Khi một cấu tạo đã có được có mang, chúng ta có thể khai báo một hoặc nhiều biến chuyển thực hiện kiểu này.– Ví dụ: struct mèo books1;– Câu lệnh này đang dành riêng đủ vùng lưu giữ nhằm lưu trữ toàn bộ các mục vào một cấu trúc.
*

Khởi sản xuất cấu trúc

Giống nlỗi các biến đổi khác với mảng, các biến mẫu mã kết cấu hoàn toàn có thể được khởi sản xuất tại thời điểm khai báo
Các biến đổi emp1 và emp2 gồm hình trạng employee rất có thể được knhị báo và khởi chế tạo ra như sau:

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

Truy cập phần tử của cấu trúc

Các phần tử của cấu tạo được truy vấn trải qua câu hỏi sử dụng toán tử chấm (.), toán thù tử này nói một cách khác là toán tử member – 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ũng có thể sử dụng câu lệnh gán dễ dàng và đơn giản nhằm gán quý giá của một biến đổi cấu trúc cho 1 vươn lên là không giống bao gồm cùng kiểu Chẳng hạn, nếu như books1 với books2 là những đổi thay kết cấu có cùng phong cách, thì câu lệnh sau là đúng theo lệ

books2 = books1;

Sao chép cấu trúc

Do kiểu dáng dữ liệu cấu trúc là tinh vi đề nghị vào một số trường hợp cấp thiết sử dụng câu lệnh gán trực tiếp, thì có thể áp dụng hàm memcpy(), đó là hàm bao gồm 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 cấu trúc hoàn toàn có thể lồng vào một cấu trúc không giống. Tuy nhiên, một kết cấu không thể lồng vào chủ yếu nó.

struct issue

char borrower <20>;char dt_of_issue<8>;struct cát books;

issl;

Việc truy cập vào các phần tử của cấu tạo này tương tự như nlỗi cùng với kết cấu thông thường không giống,
issl.borrower
Để truy vấn vào bộ phận của cấu trúc mèo là 1 phần của kết cấu issl
issl.books.author

Mảng cấu trúc

Một phong cách cấu tạo phải được tư tưởng trước, sau đó một biến chuyển mảng tất cả kiểu dáng kết cấu tương ứng mới được knhì báo
Ví dụ: struct mèo books<50>;
Để truy cập vào yếu tố author của phần tử lắp thêm bốn của mảng books ta làm nlỗi sau:

books<4>.author

Khởi chế tác những mảng kết cấu

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

*

*

Hướng dẫn:Cách 1: Tạo project mới (rất có thể xem lại bài bác viết Hướng dẫn Tạo Project Visual C++ trong Visual Studio 2012 Hoặc Hướng dẫn Dev-C++ cnạp năng lượng bản)Cách 2: Knhị báo thêm những thư viện cơ phiên bản mang đến lịch trình.

Xem thêm: Tải Kmplayer Full Mới Nhất 2021, Download Kmplayer 4

#include #include Cách 3: Knhì báo struct HinhChuNhat mang đến chương trình.

struct HinhChuNhat int Dai;int Rong;;Cách 4: Viết những knhì báo nguyên mẫu mã hàm cho công tác nhỏng sau:

void NhapThongTinHCN(HinhChuNhat &pHcn);void XuatThongTinHCN(HinhChuNhat pHcn);void TinhChuViHcn(HinhChuNhat pHcn);void TinhDienTichHcn(HinhChuNhat pHcn); Cách 5: Viết hàm main nhằm xúc tiến lịch trình.

void main()HinhChuNhat hinhchunhat;NhapThongTinHCN(hinhchunhat);XuatThongTinHCN(hinhchunhat);TinhChuViHcn(hinhchunhat);TinhDienTichHcn(hinhchunhat);getch(); Cách 6: Viết những quan niệm hàm quan trọng đến công tác nlỗi sau:

void NhapThongTinHCN(HinhChuNhat &pHcn)printf("Moi ban nhap chieu dẻo hcn=");scanf_s("%d",&pHcn.Dai);printf("Moi ban nhap chieu rong hcn=");scanf_s("%d",&pHcn.Rong); //================================void XuatThongTinHCN(HinhChuNhat pHcn)printf("Chieu dai 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 cấu trúc PhanSo quan trọng lưu trữ đọc tin phân số, sau đó thực hiện những 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ố chủng loại phải khác 0.Viết hàm về tối giản phân số.Viết hàm quy đồng 2 phân số.Nhập lệ 2 phân số. Tính tổng, hiệu, tích với tmùi hương của nhị phân số.

2. Knhì 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 một ngày côngChức vụ

Sau kia tiến hành 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 cấp dưới theo cách làm : Luong= Số ngày công * Lương 1 ngày công.Tính chi phí ttận hưởng mang lại nhân viên cấp dưới, hiểu được thưởng 50$ mang đến nhân viên làm cho bên trên 24 ngày.

Xem thêm: Từ Điển Anh Rev Là Gì ? (Từ Điển Anh Rev Là Gì, Nghĩa Của Từ Rev


Tính chi phí prúc cấp cho 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 mang lại nhân viên cấp dưới bằng lương + ttận hưởng + phụ cung cấp công tác.

3. Hãy knhị báo một kết cấu biểu hiện một điểm trên tọa độ xOy. Sau kia 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 có nằm ở 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 báo cáo điểm những môn học sau: NNLT, Tin học, Tân oán A1. Hãy khai báo một cấu tạo diễn tả điểm các môn học của một sinch viên. Sau kia viết hàm tiến hành các chức năng sau:


Nhập, xuất đọc tin điểm của 1 sinh viên.Tính điểm vừa đủ 3 môn.Xếp loại đến sinch 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

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *