NHẬP MÔN LẬP TRÌNH- CHUYỂN ĐỔI KIỂU DỮ LIỆU & CẤP PHÁT BỘ NHỚ ĐỘNG
Số trang: 28
Loại file: pdf
Dung lượng: 964.90 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mọi đối tượng dữ liệu trong C đều có kiểu xác định. Biến có kiểu char, int, float, double, … Con trỏ trỏ đến kiểu char, int, float, double, … Xử lý thế nào khi gặp một biểu thức với nhiều kiểu khác nhau? C tự động chuyển đổi kiểu (ép kiểu). Người sử dụng tự chuyển đổi kiểu.
Nội dung trích xuất từ tài liệu:
NHẬP MÔN LẬP TRÌNH- CHUYỂN ĐỔI KIỂU DỮ LIỆU & CẤP PHÁT BỘ NHỚ ĐỘNGTrường Đại học Khoa học Tự nhiênKhoa Công nghệ thông tinBộ môn Tin học cơ sở NHẬP MÔN LẬP TRÌNH Đặng Bình Phương dbphuong@fit.hcmus.edu.vn CHUYỂN ĐỔI KIỂU DỮ LIỆU & CẤP PHÁT BỘ NHỚ ĐỘNG 1 & Nội dungVC BB 1 Chuyển đổi kiểu (ép kiểu) 2 Cấu trúc CT C trong bộ nhớ 3 Cấp phát bộ nhớ động 4 Các thao tác trên khối nhớ 2 Quản lý bộ nhớ & Nhu cầu chuyển đổi kiểuVC BB Mọi đối tượng dữ liệu trong C đều có kiểu xác định Biến có kiểu char, int, float, double, … Con trỏ trỏ đến kiểu char, int, float, double, … Xử lý thế nào khi gặp một biểu thức với nhiều kiểu khác nhau? C tự động chuyển đổi kiểu (ép kiểu). Người sử dụng tự chuyển đổi kiểu. 3 Quản lý bộ nhớ & Chuyển đổi kiểu tự độngVC BB Sự tăng cấp (kiểu dữ liệu) trong biểu thức Các thành phần cùng kiểu • Kết quả là kiểu chung • int / int int, float / float float • Ví dụ: 2 / 4 0, 2.0 / 4.0 0.5 Các thành phần khác kiểu • Kết quả là kiểu bao quát nhất • char < int < long < float < double • float / int float / float, … • Ví dụ: 2.0 / 4 2.0 / 4.0 0.5 • Lưu ý, chỉ chuyển đổi tạm thời (nội bộ). 4 Quản lý bộ nhớ & Chuyển đổi kiểu tự độngVC BB Phép gán = ; BT ở vế phải luôn được tăng cấp (hay giảm cấp) tạm thời cho giống kiểu với BT ở vế trái. int i; float f = 1.23; // f tạm thời thành int i = f; // i tạm thời thành float f = i; Có thể làm mất tính chính xác của số nguyên khi chuyển sang số thực hạn chế! int i = 3; float f; // f = 2.999995 f = i; 5 Quản lý bộ nhớ & Chuyển đổi tường minh (ép kiểu)VC BB Ý nghĩa Chủ động chuyển đổi kiểu (tạm thời) nhằm tránh những kết quả sai lầm. Cú pháp () Ví dụ int x1 = 1, x2 = 2; // f1 = 0.0 float f1 = x1 / x2; // f2 = 0.5 float f2 = (float)x1 / x2; // f3 = 0.0 float f3 = (float)(x1 / x2); 6 Quản lý bộ nhớ & Cấp phát bộ nhớ tĩnh và độngVC BB Cấp phát tĩnh (static memory allocation) Khai báo biến, cấu trúc, mảng, … Bắt buộc phải biết trước cần bao nhiều bộ nhớ lưu trữ tốn bộ nhớ, không thay đổi được kích thước, … Cấp phát động (dynamic memory allocation) Cần bao nhiêu cấp phát bấy nhiêu. Có thể giải phóng nếu không cần sử dụng. Sử dụng vùng nhớ ngoài chương trình (cả bộ nhớ ảo virtual memory). 7 Quản lý bộ nhớ & Cấu trúc một CT C trong bộ nhớVC BB Toàn bộ tập tin chương trình sẽ được nạp vào bộ nhớ tại vùng nhớ còn trống, gồm 4 phần: STACK Lưu đối tượng cục bộ Khi thực hiện hàm Last-In First-Out Vùng nhớ trống Vùng cấp phát động HEAP (RAM trống và bộ nhớ ảo) Đối tượng toàn cục Vùng cấp phát tĩnh & tĩnh (kích thước cố định) Gồm các lệnh và hằng Mã chương trình (kích thước cố định) 8 Quản lý bộ nhớ & Cấp phát bộ nhớ độngVC BB Thuộc thư viện hoặc malloc calloc ...
Nội dung trích xuất từ tài liệu:
NHẬP MÔN LẬP TRÌNH- CHUYỂN ĐỔI KIỂU DỮ LIỆU & CẤP PHÁT BỘ NHỚ ĐỘNGTrường Đại học Khoa học Tự nhiênKhoa Công nghệ thông tinBộ môn Tin học cơ sở NHẬP MÔN LẬP TRÌNH Đặng Bình Phương dbphuong@fit.hcmus.edu.vn CHUYỂN ĐỔI KIỂU DỮ LIỆU & CẤP PHÁT BỘ NHỚ ĐỘNG 1 & Nội dungVC BB 1 Chuyển đổi kiểu (ép kiểu) 2 Cấu trúc CT C trong bộ nhớ 3 Cấp phát bộ nhớ động 4 Các thao tác trên khối nhớ 2 Quản lý bộ nhớ & Nhu cầu chuyển đổi kiểuVC BB Mọi đối tượng dữ liệu trong C đều có kiểu xác định Biến có kiểu char, int, float, double, … Con trỏ trỏ đến kiểu char, int, float, double, … Xử lý thế nào khi gặp một biểu thức với nhiều kiểu khác nhau? C tự động chuyển đổi kiểu (ép kiểu). Người sử dụng tự chuyển đổi kiểu. 3 Quản lý bộ nhớ & Chuyển đổi kiểu tự độngVC BB Sự tăng cấp (kiểu dữ liệu) trong biểu thức Các thành phần cùng kiểu • Kết quả là kiểu chung • int / int int, float / float float • Ví dụ: 2 / 4 0, 2.0 / 4.0 0.5 Các thành phần khác kiểu • Kết quả là kiểu bao quát nhất • char < int < long < float < double • float / int float / float, … • Ví dụ: 2.0 / 4 2.0 / 4.0 0.5 • Lưu ý, chỉ chuyển đổi tạm thời (nội bộ). 4 Quản lý bộ nhớ & Chuyển đổi kiểu tự độngVC BB Phép gán = ; BT ở vế phải luôn được tăng cấp (hay giảm cấp) tạm thời cho giống kiểu với BT ở vế trái. int i; float f = 1.23; // f tạm thời thành int i = f; // i tạm thời thành float f = i; Có thể làm mất tính chính xác của số nguyên khi chuyển sang số thực hạn chế! int i = 3; float f; // f = 2.999995 f = i; 5 Quản lý bộ nhớ & Chuyển đổi tường minh (ép kiểu)VC BB Ý nghĩa Chủ động chuyển đổi kiểu (tạm thời) nhằm tránh những kết quả sai lầm. Cú pháp () Ví dụ int x1 = 1, x2 = 2; // f1 = 0.0 float f1 = x1 / x2; // f2 = 0.5 float f2 = (float)x1 / x2; // f3 = 0.0 float f3 = (float)(x1 / x2); 6 Quản lý bộ nhớ & Cấp phát bộ nhớ tĩnh và độngVC BB Cấp phát tĩnh (static memory allocation) Khai báo biến, cấu trúc, mảng, … Bắt buộc phải biết trước cần bao nhiều bộ nhớ lưu trữ tốn bộ nhớ, không thay đổi được kích thước, … Cấp phát động (dynamic memory allocation) Cần bao nhiêu cấp phát bấy nhiêu. Có thể giải phóng nếu không cần sử dụng. Sử dụng vùng nhớ ngoài chương trình (cả bộ nhớ ảo virtual memory). 7 Quản lý bộ nhớ & Cấu trúc một CT C trong bộ nhớVC BB Toàn bộ tập tin chương trình sẽ được nạp vào bộ nhớ tại vùng nhớ còn trống, gồm 4 phần: STACK Lưu đối tượng cục bộ Khi thực hiện hàm Last-In First-Out Vùng nhớ trống Vùng cấp phát động HEAP (RAM trống và bộ nhớ ảo) Đối tượng toàn cục Vùng cấp phát tĩnh & tĩnh (kích thước cố định) Gồm các lệnh và hằng Mã chương trình (kích thước cố định) 8 Quản lý bộ nhớ & Cấp phát bộ nhớ độngVC BB Thuộc thư viện hoặc malloc calloc ...
Tìm kiếm theo từ khóa liên quan:
lập trình hướng đối tượng nhập môn lập trình tin học cơ sở lập trình cơ bản ngôn ngữ lập trình C lập trình C căn bảnGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 311 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 269 0 0 -
101 trang 199 1 0
-
Giáo trình Lập trình C căn bản: Phần 2
71 trang 171 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 169 0 0 -
Giáo trình Lập trình C căn bản
135 trang 160 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 159 0 0 -
Giới thiệu : Lập trình mã nguồn mở
14 trang 156 0 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 149 0 0 -
Bài giảng Lập trình C căn bản: Chương 4 - Phạm Thế Bảo
34 trang 146 0 0