Originally posted by 11520327
View Post
Thứ nhất ko nói đến việc viết sai cú pháp hay thiếu sót của những cái râu ria ngòai hàm main. Ko quan trọng.
Thứ hai mình chỉ có đọc 3 cái dòng sau
int numb=3; (1)
Tag(&numb); (2)
printf("gia tri cua numb: %d", numb); (5)
Và hàm Tag nữa
void Tag(int *a) (3)
{
*a=5; (4)
}
Giải thích các lệnh
(1) xin ram cho một ô nhớ tên là numb và cho nó giá trị 3 vào ô nhớ này, lúc này giá trị trong ô nhớ numb là 3.
(2) và (3) hai lệnh này làm cho con trỏ a bám vào ô nhớ numb , nhờ vậy nó có thể làm bất cứ điều gì trên ô nhớ numb ( kiểu như điều khiển từ xa ấy ).
(4) con trỏ a điều khỉên ô nhớ numb xóa giá trị 3 đang có đi và thay bằng giá trị 5, lúc này giá trị trong ô nhớ numb đã là 5 nhé.
(5) in giá trị của ô nhớ numb ra màn hình , tất nhiên nó không thể khác 5. ^^
Con trỏ là một ô nhớ rất đặc biệt, nó ko chứa dữ liệu như các ô nhớ thông thường mà nó chỉ chứa được địa chỉ của các ô nhớ này.
Chính vì vậy nó có thể truy xuất được đến các ô nhớ mà nó đã "bám" vào , và làm bất kỳ trò gì mà các ô nhớ này có thể làm được.
Comment