Bài tập về Pointer - Lập trình C
📚 Bài 1 – Làm việc với con trỏ và biến thường
🎯 Mục tiêu
Hiểu:
-
địa chỉ biến
-
con trỏ trỏ tới biến
-
thay đổi giá trị thông qua con trỏ
📋 Yêu cầu
-
Khai báo 1 biến nguyên
avà gán giá trị bất kỳ. -
Khai báo 1 con trỏ
ptrỏ đếna. -
In ra:
-
Giá trị của
a -
Địa chỉ của
a -
Giá trị của
p -
Giá trị tại địa chỉ mà
ptrỏ tới
-
-
Dùng con trỏ để:
-
tăng
alên 5 -
nhân đôi giá trị
a
-
-
In lại kết quả sau khi thay đổi.
🎯 Kiến thức luyện tập
✅ & lấy địa chỉ
✅ * giải tham chiếu
✅ sửa giá trị thông qua pointer
📚 Bài 2 – Con trỏ và mảng
🎯 Mục tiêu
Hiểu:
-
tên mảng là địa chỉ phần tử đầu
-
dùng pointer duyệt mảng
-
phép toán cộng con trỏ
📋 Yêu cầu
-
Khai báo mảng
int arr[5]và nhập giá trị từ bàn phím. -
Khai báo con trỏ
ptrỏ đến phần tử đầu tiên của mảng. -
Dùng:
-
arr[i] -
và
*(p + i)
để in toàn bộ phần tử.
-
-
Tính:
-
tổng các phần tử
-
giá trị lớn nhất
bằng cách chỉ dùng con trỏ (không dùng arr[i]).
-
-
In địa chỉ từng phần tử bằng:
-
&arr[i] -
p + i
-
🎯 Kiến thức luyện tập
✅ pointer arithmetic (p + i)
✅ *(p+i)
✅ mảng = con trỏ
📚 Bài 3 – Truyền con trỏ vào hàm
🎯 Mục tiêu
Hiểu:
-
truyền tham chiếu bằng con trỏ
-
thay đổi giá trị biến trong hàm
📋 Yêu cầu
-
Viết chương trình nhập 2 số nguyên
a,b. -
Tạo hàm:
-
hoán đổi giá trị 2 số (swap)
-
tính tổng và lưu vào biến thứ 3
-
-
Các hàm phải nhận địa chỉ (pointer) thay vì truyền giá trị.
-
Sau khi gọi hàm:
-
in lại giá trị mới của
a,b -
in kết quả tổng
-
🎯 Kiến thức luyện tập
✅ truyền &a, &b
✅ tham số int *
✅ thay đổi giá trị gốc trong hàm