Bài giảng Nhập môn Lập trình: Chương 11 trình bày các nội dung chính sau: Con trỏ, khái niệm và cách sử dụng con trỏ, con trỏ và mảng 1 chiều, truyền mảng 1 chiều cho hàm, phép toán số học trên con trỏ,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.
NHẬP MƠN LẬP TRÌNH BÀI 14: CON TRỎ CĐR buổi học • Sau học xong buổi học, sinh viên có khả năng: • • • Hiểu khái niệm trỏ, địa biến quản lý biến C/C++ Sử dụng trỏ lập trình Biết số thuật ngữ tiếng Anh tương ứng Bảng thuật ngữ Việt- Anh liên quan nội dung trỏ Thuật ngữ tiếng Việt Thuật ngữ tiếng Anh Con trỏ Pointer Hằng trỏ Constant pointer Địa nhớ Memory Address Toán tử & Address-of Operator Toán tử * Dereferencing Operator, or: Indirection Operator Cấp phát nhớ Memory Allocation Giải phóng nhớ De-Allocate Memory Cấp phát tĩnh Static Memory Allocation Cấp phát động Dynamic Memory Allocation Biến động Dynamic Variable Phép toán số học trỏ Pointer Arithmetic NMLT - CON TRỎ CƠ BẢN Nội dung Khái niệm cách sử dụng trỏ Con trỏ mảng chiều Bài tập NMLT - Con trỏ cấp phát động Khái niệm cách sử dụng 1.1 Biến vùng nhớ 1.2 Khái niệm trỏ 1.3 Khai báo trỏ 1.4 Con trỏ toán tử &, * 1.5 Con trỏ NULL 1.6 Kích cỡ trỏ 1.7 Từ khóa const trỏ 1.8 Con trỏ hàm Bài tập Một số lưu ý NMLT - CON TRỎ CƠ BẢN 1.1 Biến vùng nhớ • Bộ nhớ máy tính • Bộ nhớ RAM chứa nhiều nhớ, nhớ có kích thước byte • Mỗi nhớ có địa địa đánh số từ trở • RAM để lưu trữ mã chương trình liệu suốt trình thực thi Địa ô nhớ … byte Memory Layout (bytes) NMLT - CON TRỎ CƠ BẢN 1.1 Biến vùng nhớ • Khi khai báo biến, máy tính dành riêng vùng nhớ để lưu biến • Khi tên biến gọi, máy tính thực bước sau: • Tìm kiếm địa nhớ biến • Truy xuất thiết lập giá trị biến lưu trữ nhớ NMLT - CON TRỎ CƠ BẢN 1.1 Biến vùng nhớ Địa ô nhớ int main() { char ch=‘x’; int a = 7; } NMLT - CON TRỎ CƠ BẢN ch x a 7 … Memory Layout (bytes) Toán tử & * • Tốn tử & (Address-of Operator) đặt trước tên biến cho biết địa vùng nhớ biến • Tốn tử * (Dereferencing Operator hay Indirection Operator) đặt trước địa cho biết giá trị lưu trữ địa • Ví dụ: NMLT - CON TRỎ CƠ BẢN Tốn tử & * int value; value = 3200; 0x50 value 3200 Memory Layout cout