Khái niệm con trỏ ( pointe r) và địa chỉ:

Một phần của tài liệu Giáo trình lập trình hướng đối tượng (nghề lập trình máy tính) (Trang 37 - 38)

- Mỗi biến trong ngôn ngữ C++ đều có 1 tên và tương ứng với nó là một vùng nhớ

dùng để chứa giá trị của nó. Tuỳ theo biến mà vùng nhớ dành cho biến có độ dài khác nhau. Ðịa chỉ của biến là sô thứ tự của byte đầu tiên tương ứng với biến đó.

Ðịa chỉ của biến có kiểu khác nhau là khác nhau. Ðịa chỉ và biển kiểu int liên tiếp cách nhau 2 byte , biến kiểu float là 4 byte.

- Con trỏ là biến dùng để chứa địa chỉ của biến khác hoặc có thể là một hàm. Do có

nhiều loại địa chỉ nên cũng có nhiều loại biến con trỏ. Con trỏ kiểu int dùng để chứa địa chỉ của kiểuint. Con trỏ kiểu float dùng để chứa địa chỉ kiểu float.

- Muốn sử dụng được pointer, trước tiên phải có được địa chỉ của biến mà ta cần

quan tâm bằng phép toán lấy địa chỉ & . Kết quả của phép lấy địa chỉ & sẽ là 1 phần tử hằng.

* Ví dụ : int num ; => &num là địa chỉ của num. int pnum ; // pnum là 1 pointer chỉ đến một int pnum = & num ; // pnum chứa địa chỉ biến int num

giả sử : num = 5 ; => * pnum = 5 // do * là toán tử nội dung Hai câu lệnh sau đây là tương đương

Num = 100 ; ( * pnum ) = 100 ;

- Quy tắc khai báo biến con trỏ : < kiểu dữ liệu> * < tên biến con trỏ > *Ví dụ 2 : int a, *p ;

a = 5 ; // giả sử địa chỉ của a là < 106 > p = & a ; // p = <106>

p = a ; // phép gán sai * p = a ; // phép gán đúng

scanf ( " %d " , &a ) ; tương đương scanf ( " %d , p ) ;

Một phần của tài liệu Giáo trình lập trình hướng đối tượng (nghề lập trình máy tính) (Trang 37 - 38)

Tải bản đầy đủ (PDF)

(109 trang)