Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,71 MB
Nội dung
Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Tin học sở TIN HỌC CƠ SỞ Đặng Bình Phương dbphuong@fit.hcmuns.edu.vn DỮ LIỆU KIỂU CẤU TRÚC VC VC && BB BB Nội dung Khái niệm kiểu cấu trúc (struct) Khai báo & truy xuất kiểu cấu trúc Kiểu liệu hợp (union) Bài tập Tin học sở - Đặng Bình Phương VC VC && BB BB Đặt vấn đề Thông tin SV MSSV : kiểu chuỗi Tên SV : kiểu chuỗi NTNS : kiểu chuỗi Phái : ký tự Điểm Tốn, Lý, Hóa : số thực u cầu Lưu thông tin n SV? Tuyền thông tin n SV vào hàm? Tin học sở - Đặng Bình Phương VC VC && BB BB Đặt vấn đề Khai báo biến để lưu trữ SV char mssv[7]; // “0012078” char hoten[30]; // “Nguyen Van A” char ntns[8]; // “29/12/82” char phai; // ‘n’ float toan, ly, hoa;// 8.5 9.0 10.0 Truyền thông tin SV cho hàm void xuat(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); Tin học sở - Đặng Bình Phương VC VC && BB BB Đặt vấn đề Nhận xét Đặt tên biến khó khăn khó quản lý Truyền tham số cho hàm nhiều Tìm kiếm, xếp, chép,… khó khăn Tốn nhiều nhớ … Ý tưởng Gom thông tin SV thành kiểu liệu => Kiểu struct Tin học sở - Đặng Bình Phương VC VC && BB BB Khai báo kiểu cấu trúc Cú pháp struct { ; … ; }; Ví dụ struct DIEM { int x; int y; }; Tin học sở A - Đặng Bình Phương VC VC && BB BB Khai báo biến cấu trúc Cú pháp tường minh struct , ; Ví dụ struct DIEM { int x; int y; } diem1, diem2; Tin học sở A - Đặng Bình Phương VC VC && BB BB Khai báo biến cấu trúc Cú pháp không tường minh struct ; struct DIEM { int x; int y; }; struct DIEM diem1, diem2;// C++ bỏ struct Tin học sở A - Đặng Bình Phương VC VC && BB BB Sử dụng typedef Cú pháp typedef struct { ; … ; } ; ; Ví dụ Tin học sở A - Đặng Bình Phương VC VC && BB BB Khởi tạo cho biến cấu trúc Cú pháp tường minh struct ,…,}; Ví dụ struct DIEM { int x; int y; } diem1 = {2912, 1706}, diem2; Tin học sở A - Đặng Bình Phương VC VC && BB BB #pragma pack Ví dụ: khơng có #pragma pack (1) struct A { double a; int b; int c; }; struct B { int b; double a; int c; }; struct C { int b; int c; double a; }; a a a a a a a a b b b b c c c c b a c b a c b a c b đệm 4B a a a a a c đệm 4B b b b b c c c c a a a a a a a a Tin học sở - Đặng Bình Phương VC VC && BB BB Các lưu ý cấu trúc Lưu ý Kiểu cấu trúc định nghĩa để làm khn dạng cịn biến cấu trúc khai báo để sử dụng khuôn dạng định nghĩa Trong C++, bỏ từ khóa struct khai báo biến (hoặc sử dụng typedef) Khi nhập biến kiểu số thực cấu trúc phải nhập thông qua biến trung gian struct DIEM { float x, y;} d1; float temp; scanf(“%f”, &temp); d1.x = temp; Tin học sở - Đặng Bình Phương ... SV thành kiểu liệu => Kiểu struct Tin học sở - Đặng Bình Phương VC VC && BB BB Khai báo kiểu cấu trúc Cú pháp struct { ; …