1. Trang chủ
  2. » Công Nghệ Thông Tin

Các yếu tố xây dựng nên C và C++ phần 8

7 11 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 335,32 KB

Nội dung

Tóm lược về cấu trúc (struct) Cấu trúc (struct) ₫ược sử dụng ₫ể nhóm các dữ liệu liên quan mô tả một ₫ối tượng, các dữ liệu có thể cùng hoặc khác kiểu Định nghĩa kiểu cấu trúc bằng cách khai báo tên các biến thành viên.

Tóm lược cấu trúc (struct) ƒ Cấu trúc (struct) ₫ược sử dụng ₫ể nhóm liệu liên quan mơ tả ₫ối tượng, liệu khác kiểu ƒ Định nghĩa kiểu cấu trúc cách khai báo tên biến thành viên Định nghĩa kiểu cấu trúc chưa phải ₫ịnh nghĩa biến cụ thể, khơng ₫ược ₫ặt giá trị ₫ầu cho biến ƒ Kích cỡ cấu trúc >= tổng kích cỡ thành viên ƒ Truy cập biến cấu trúc thơng qua tên biến, tốn tử (.) tên biến thành viên ƒ Các kiểu cấu trúc lồng vào nhau, cấu trúc sử dụng mảng, mảng có phần tử cấu trúc, v.v © 2004, HỒNG MINH SƠN ƒ Các biến có kiểu cấu trúc gán cho nhau, sử dụng ₫ể khởi tạo cho (khác hẳn với mảng) ƒ Có thể sử dụng trỏ ₫ể truy nhập liệu cấu trúc thơng qua tốn tử (*.) tốn tử (->) ƒ Hai kiểu cấu trúc có khai báo giống hoàn toàn hai kiểu cấu trúc khác Chương 2: Các yếu tố C C++ 50 2.4.2 Hợp © 2004, HỒNG MINH SƠN enum SignalType {BINARY_8, BINARY_16, ANALOG_1, ANALOG_2}; union SignalValue { unsigned short word; unsigned char byte; float real; double lreal; }; struct Signal { SignalType type; SignalValue value; }; void main() { SignalValue B,W; B.byte = 0x01; W.word = 0x0101; unsigned char b = W.byte; // OK, the lower byte float f = W.real; // meaningless Signal DI1 = {BINARY_8, 0x11}; Signal AI1 = {ANALOG_1,{0}}; Signal AI2; AI2.type = ANALOG_2; AI2.value.lreal = 145.67; } Chương 2: Các yếu tố C C++ 51 Tóm lược hợp ƒ Hợp (union) tập hợp (không có cấu trúc chặt chẽ) chứa biến sử dụng chung ô nhớ, ngữ cảnh sử dụng biến riêng biệt ƒ Union thường ₫ược sử dụng liệu ₫ầu vào có kiểu khác ƒ Các thành viên union không liên quan ₫ến nhau, không tạo thành thực thể thống ƒ Kích cỡ union kích cỡ biến lớn ƒ Khai báo kiểu union tương tự khai báo struct, ý nghĩa khác hẳn © 2004, HỒNG MINH SƠN ƒ Truy nhập biến thành viên tương tự struct, qua biến trực tiếp qua biến trỏ ƒ Union chứa struct, struct chứa union, union chứa mảng, phần tử mảng union Chương 2: Các yếu tố C C++ 52 2.5 Điều khiển CT: phân nhánh ƒ Các kiểu phân nhánh © 2004, HỒNG MINH SƠN – – – – – if else: Phân nhánh lựa chọn hai trường hợp switch case: Phân nhánh lựa chọn nhiều trường hợp break: Lệnh nhảy kết thúc (sớm) phạm vi return: Lệnh nhảy kết thúc (sớm) hàm goto: Lệnh nhảy tới nhãn (không nên dùng!) Chương 2: Các yếu tố C C++ 53 2.5.1 Cấu trúc if else ƒ Lựa chọn trường hợp: sử dụng if if (npoints >= 60) cout = 80 && npoints b) return a; return b; } int max6(int a, int b) { return (a > b)? a: b; } 55 2.5.2 Cấu trúc switch case © 2004, HỒNG MINH SƠN Signal input; int i = 0; while (i++ < 8) { input = readInput(i); // read from input module i switch (input.type) { case BINARY_8: cout

Ngày đăng: 10/05/2021, 14:13