intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình nâng cao: Chương 2 - Trần Minh Thái

Chia sẻ: Y Nhân | Ngày: | Loại File: PDF | Số trang:13

60
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Kỹ thuật lập trình nâng cao - Chương 2: Lập trình con trỏ" cung cấp cho người học các kiến thức: Đại chỉ của biến, con trỏ, cấp phát và giải phóng vùng nhớ, con trỏ và mảng một chiều,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình nâng cao: Chương 2 - Trần Minh Thái

  1. CHƯƠNG 2 LẬP TRÌNH CON TRỎ TRẦN MINH THÁI [e] minhthai@itc.edu.vn [w] www.minhthai.edu.vn1
  2. ĐỊA CHỈ CỦA BIẾN Thông tin của một biến bao gồm: • Tên biến • Kiểu dữ liệu của biến • Giá trị của biến Mỗi biến sẽ được lưu trữ tại một vị trí xác định trong ô nhớ, nếu kích thước của biến có nhiều byte thì máy tính sẽ cấp phát một dãy các byte liên tiếp nhau, địa chỉ của biến sẽ lưu byte đầu tiên trong dãy các byte này 2
  3. ĐỊA CHỈ CỦA BIẾN (TT) Ví dụ khai báo: float x; int a; Địa chỉ Địa chỉ biến x biến a Byte 1 Byte 100 Các ô Các ô nhớ của Byte 2 nhớ của Byte 101 biến x biến a Byte 3 Byte 102 Byte 4 Byte 103 3
  4. ĐỊA CHỈ CỦA BIẾN (TT) • Địa chỉ của biến luôn luôn là một số nguyên (hệ hexa) dù biến đó chứa giá trị là số nguyên, số thực hay ký tự, … • Cách lấy địa chỉ của biến: & tênbiến • Ví dụ: void main() Kết quả { Dia chi cua bien x = 0014FC00 int x=7; Dia chi cua bien y = 0014FBF4 float y=10.5; cout
  5. CON TRỎ • Con trỏ là một biến để chứa địa chỉ, có nhiều loại con trỏ tùy thuộc vào địa chỉ của mỗi loại kiểu biến • Cách khai báo con trỏ Kiểu dữ liệu * TênConTrỏ • Ví dụ: int *px, y; float *pm, n; • Cách lấy giá trị của con trỏ * TênConTrỏ 5
  6. VÍ DỤ void main() { int *px, y; Lấy địa chỉ của biến float *pa, b; y gán vào px y=10; b=14.5; Lấy giá trị của con px=&y; trỏ px pa=&b; cout
  7. CẤP PHÁT VÀ GIẢI PHÓNG VÙNG NHỚ • Biến con trỏ phải được cấp phát vùng nhớ trước khi sử dụng Cú pháp: biến con trỏ = new ; • Giải phóng vùng nhớ Cú pháp: delete biến con trỏ; VD: int *a; a = new int; //Cấp phát vùng nhớ cho a ……. delete a; 7
  8. CON TRỎ VÀ MẢNG MỘT CHIỀU • Khai báo * tên mảng; • Cấp phát vùng nhớ tên mảng = new [kích thước]; VD: int *pa; pa = new int[50]; … pa 0 1 2 3 4 5 6 … 49 8
  9. CON TRỎ VÀ MẢNG MỘT CHIỀU void NhapMang(int a [], int n) { for (int i = 0; i < n; i++) { cout
  10. CON TRỎ HÀM • Khai báo: (*Tên hàm)(tham số); VD: int *Tong(int a, int b); Thích hợp cho việc tùy chọn (switch) gọi thực hiện trong danh sách các hàm 10
  11. CON TRỎ HÀM int ChuVi(int a, int b) { return (a + b) * 2; } int DienTich(int a, int b) { return a*b; } int Tinh(int a, int b, int (*Ham)(int, int)) { int kq = (*Ham)(a, b); return kq; } 11
  12. CON TRỎ HÀM void main() { int a = 10, b = 6; int (*Ham)(int, int) = ChuVi; int p = Tinh(a, b, ChuVi); cout
  13. BÀI TẬP Dùng kỹ thuật con trỏ hàm, viết chương trình tính tổng, hiệu, tích và thương của hai phân số phụ thuộc vào người dùng chọn chức năng nào. 13
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2