-
30-09-2014, 12:23 PM #11
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
về cơ bản, thì khi chưa khởi tạo giá trị cho 1 biến nào đó mà đã sử dụng biến đó rồi thì sẽ bị lỗi, thường có thể bị lỗi ngay lúc biên dịch, hoặc cũng có thể biên dịch xong, chạy được rồi đến đoạn sử dụng biến đó thì mới phát hiện là "chưa khởi tạo giá trị" nên nó mới báo lỗi
đối với biến con trỏ cũng tương tự, khi ta chưa cho nó trỏ vào ô nhớ nào cả thì ko thể gán giá trị cho ô nhớ mà nó trỏ đến được, vì tại lúc gán giá trị (*p = 2) thì chưa biết p đang trỏ đến đâu mà đặt giá trị 2 vào ô nhớ đó...
Gửi bởi lorgan
-
30-09-2014, 01:25 PM #12
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Nguyen.TienHai
Cơ bản là khi khai báo không kèm khởi tạo con trỏ *p trong hàm, giá trị của p sẽ là một số bất kỳ. p ở đây sẽ là một biến được lưu trong stack, giả sử với con trỏ 32bit thì giá trị của p là ở 32bit ở đáy của stack này. Mà giá trị mấy ô nhớ này thì không xác định trước được.
Cho nên tùy vào giá trị của mấy ô nhớ đó mà phép gán *p = 2 có thể cho ra các kết quả khác nhau, có thể là lỗi segfault vì truy cập tới địa chỉ không hợp lệ, cũng có thể là chạy được vì ngẫu nhiên nó có giá trị là một địa chỉ hợp lệ.
khi đề cập đến đội hình MU, không thể ko nói tới một trong các câu lạc bộ bóng đá huyền thoại và với tầm ảnh hưởng nhất trong lịch sử của môn thể thao vua. Với hơn 1 thế kỷ còn đó và phát triển,...
Đội hình MU - Manchester United:...