Đây là bài viết nói về bản chất của việc ta dùng string và arr trong vùng nhớ :
khi ta gọi hàm getline, getstring( ) ... cho biến string s đã khai báo từ trước, bản chất của nó là tạo một vùng nhớ lưu các giá trị của những kí tự mình nhập vào (liên tiếp nhau) sau đó lấy địa chỉ đầu tiên của vùng nhớ đó (kí tự đầu tiên) đưa cho s, hay nói cách khác s là một con trỏ mà nó có giá trị là địa chỉ của kí tự đầu tiên trong vùng nhớ.
Như vậy thật không ổn khi so sánh 2 xâu bằng cách : s1 == s2 ;
Chỉ là so sánh 2 địa chỉ đâu tiên trong một vùng nhớ nào đó.
khi ta gọi hàm getline, getstring( ) ... cho biến string s đã khai báo từ trước, bản chất của nó là tạo một vùng nhớ lưu các giá trị của những kí tự mình nhập vào (liên tiếp nhau) sau đó lấy địa chỉ đầu tiên của vùng nhớ đó (kí tự đầu tiên) đưa cho s, hay nói cách khác s là một con trỏ mà nó có giá trị là địa chỉ của kí tự đầu tiên trong vùng nhớ.
Như vậy thật không ổn khi so sánh 2 xâu bằng cách : s1 == s2 ;
Chỉ là so sánh 2 địa chỉ đâu tiên trong một vùng nhớ nào đó.
Không có nhận xét nào:
Đăng nhận xét