Mình là newbie và có hai vấn đề về con trỏ mình vẫn chưa hiểu mong các pro chỉ giúp.
Vấn đề 1: Giả sử mình có đoạn code sau:
Mã:
//.............
int a = 0;
int *pa =&a;
pa++;
*pa= 20;
//...........
Mình có được quyền tăng con trỏ như trường hợp trên không? về nguyên lý nếu được thì có nghĩa là nó đã làm thay đổi dữ liệu ở ô nhớ bên cạnh. Điều này có thể phá hỏng dữ liệu nếu vô tình ô nhớ đó đang được dùng cho một biến nào đó khác. Nhưng khi code như vậy mình không thấy trình biên dịch báo lỗi gì? Và để khắc phục tình trạng trên thì làm sao? giả sử khi mình cho con trỏ trỏ vào một mảng có hữu hạn phần tử, nhưng trong code mình vô tình tăng con trỏ vượt ra ngoài phạm vi của mảng chẳng hạn..
Vấn đề 2: Mình có thể gán địa chỉ cho một biến được khai báo trước đó không. Như đoạn code dưới:
Mã:
int a = 2;
&a = (int*)0xa1;
//...............
Cảm ơn các bạn rất nhiều.
View more random threads:
xã hội vững mạnh, nhu cầu mặc đẹp của con người ngày càng cao. ngành công nghiệp thời trang cũng đang vững mạnh chóng vánh. những nhà máy gia công hàng may mặc chẳng thể đóng góp lặng thầm vào sự...
Tìm xưởng may gia công tại TP Hồ...