Ôn tập: kiến thức cơ bản về con trỏ
Thuộc phần Logic và luồng điều khiển trong hành trình C của Coddy. Bài học 6 trên 63.
Thử thách
DễViết một chương trình C minh họa toàn bộ quy trình làm việc với con trỏ bằng cách sử dụng nhiều kiểu dữ liệu. Chương trình của bạn cần:
- Khai báo một biến số nguyên tên là
agevà khởi tạo biến với giá trị 25 - Khai báo một biến ký tự tên là
gradevà khởi tạo biến với giá trị 'A' - Khai báo một biến số thực tên là
temperaturevà khởi tạo biến với giá trị 98.6 - Khai báo ba con trỏ tương ứng:
- Một con trỏ đến số nguyên tên là
age_ptr - Một con trỏ đến ký tự tên là
grade_ptr - Một con trỏ đến số thực tên là
temp_ptr
- Một con trỏ đến số nguyên tên là
- Dùng toán tử lấy địa chỉ để gán địa chỉ của các biến cho con trỏ tương ứng
- Dùng toán tử giải tham chiếu để in cả ba giá trị thông qua con trỏ theo định dạng sau:
- Age: [value]
- Grade: [value]
- Temperature: [value] (với chính xác 1 chữ số thập phân)
- Thay đổi các biến ban đầu thông qua con trỏ:
- Đổi
agethành 30 bằngage_ptr - Đổi
gradethành 'B' bằnggrade_ptr - Đổi
temperaturethành 99.5 bằngtemp_ptr
- Đổi
- In trực tiếp các giá trị đã thay đổi từ những biến ban đầu, không thông qua con trỏ, theo cùng định dạng ở bước 6
Kết quả của bạn cần hiển thị theo định dạng sau:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5Thử thách này kiểm tra mức độ hiểu biết của bạn về cách khai báo con trỏ, gán địa chỉ, giải tham chiếu để đọc và ghi giá trị, đồng thời minh họa rằng con trỏ cho phép truy cập trực tiếp vào vị trí bộ nhớ của các biến ban đầu.
Tự làm thử
#include <stdio.h>
int main() {
// TODO: Viết code tại đây
// Khai báo biến và con trỏ
// Gán địa chỉ cho con trỏ
// In ra giá trị thông qua con trỏ
// Thay đổi giá trị thông qua con trỏ
// In ra giá trị đã thay đổi từ các biến ban đầu
return 0;
}Tất cả bài học trong Logic và luồng điều khiển
1Nền tảng về con trỏ
Con trỏ là gì?Khai báo con trỏToán tử lấy địa chỉ (&)Toán tử giải tham chiếu (*)Con trỏ NULLÔn tập: kiến thức cơ bản về con trỏ4Dự án: Công cụ xử lý văn bản đơn giản
Tổng quan dự ánĐếm ký tự2Con trỏ và mảng
Tên mảng dưới dạng con trỏPhần tử mảng và con trỏPhép toán con trỏSo sánh con trỏÔn tập: duyệt mảng bằng con trỏ5Con trỏ và hàm
Truyền theo giá trịTruyền con trỏ vào hàmSửa đổi biến qua con trỏVí dụ kinh điển: hoán đổiTruyền mảng vào hàmÔn tập: đối số con trỏ hàm3Mảng ký tự và chuỗi
Chuỗi dưới dạng mảng charKý tự kết thúc nullNhập chuỗi bằng scanfDùng strlen()Dùng strcpy()Dùng strcat()Dùng strcmp()Ôn tập: các hàm xử lý chuỗi cơ bản6Quản lý bộ nhớ
Bộ nhớ ngăn xếp và bộ nhớ heapCấp phát động với malloc()Dùng sizeof() để cấp phátKiểm tra lỗi cấp phátGiải phóng bộ nhớ với free()Cấp phát với calloc()Ôn tập: Mảng động9Dự án: Nhập thông tin liên hệ đơn giản
Định nghĩa struct ContactHàm tạo liên hệTự luyện tập: Trình biên dịch C online