Professional Documents
Culture Documents
BÀI 8
Mục tiêu bài học
Tìm hiểu về con trỏ và khi nào thì sử dụng con trỏ
Cách sử dụng biến con trỏ và các toán tử con trỏ
Gán giá trị cho con trỏ
Phép toán trên con trỏ
So sánh con trỏ
Con trỏ và mảng một chiều
Con trỏ và mảng nhiều chiều
Tìm hiểu cách cấp phát bộ nhớ
Con trỏ là gì?
Con trỏ là một biến, nó chứa địa chỉ ô nhớ của một biến
khác
Nếu một biến chứa địa chỉ của một biến khác, thì biến này
được gọi là con trỏ trỏ đến biến thứ hai
Con trỏ cung cấp phương thức truy xuất gián tiếp đến giá
trị của một phần tử dữ liệu
Các con trỏ có thể trỏ đến các biến có kiểu dữ liệu cơ bản
như int, char, double, hay dữ liệu tập hợp như mảng hoặc
cấu trúc.
ELEMENTARY PROGRAMMING WITH C/SESSION 8/ SLIDE 3 OF 30
Con trỏ được sử dụng để làm gì?
Các tình huống con trỏ có thể được sử dụng:
Để trả về nhiều hơn một giá trị từ một hàm
Để truyền mảng và chuỗi từ một hàm đến
một hàm khác thuận tiện hơn
Để làm việc với các phần tử của mảng thay
vì truy xuất trực tiếp vào các phần tử này
Để cấp phát bộ nhớ và truy xuất bộ nhớ
(Cấp phát bộ nhớ trực tiếp)
Biến con trỏ
Khai báo con trỏ: chỉ ra một kiểu cơ sở và
một tên biến được đặt trước bởi dấu *
Cú pháp khai báo tổng quát:
type *name;
Ví dụ:
int *var2;
Các toán tử con trỏ
Hai toán tử đặc biệt được sử dụng với con trỏ:
& và *
& là toán tử một ngôi và nó trả về địa chỉ ô nhớ
của toán hạng
var2 = &var1;
Toán tử * là phần bổ xung của toán tử &. Đây là
toán tử một ngôi và nó trả về giá trị chứa trong
vùng nhớ được trỏ đến bởi biến con trỏ
temp = *var2;
Gán trị đối với con trỏ
Các giá trị có thể được gán cho con trỏ
thông qua toán tử &.
ptr_var = &var;
Ở đây địa chỉ của var được lưu vào biến
ptr_var.
Cũng có thể gán giá trị cho con trỏ thông
qua một biến con trỏ khác trỏ có cùng
kiểu. ptr_var = &var;
ptr_var2 = ptr_var;
Gán trị đối với con trỏ (tt)
Có thể gán giá trị cho các biến thông
qua con trỏ
*ptr_var = 10;