30/09/2018, 17:21

Có chuyện gì xảy ra khi cấp phát thiếu bộ nhớ cho mảng?

e có hơi thắc mắc cái này ,khi e viết

int p[2];
 for(int i=0;i<=10;i++)
 {  
    p[i]=i;
}

nó vẫn chạy bình thường ,chỉ là báo thêm vùng nhớ quá bé ??
nếu như khai báo vậy thì nó có rủi ro gì ạ

Phạm Văn Hoàng viết 19:21 ngày 30/09/2018

Nếu biên dịch trên linux bạn sẽ gặp lỗi core dumped, tức là lỗi truy cập vào vùng nhớ chưa được cấp phát.

Minh Hoàng viết 19:37 ngày 30/09/2018

nó sẽ ghi đè lên vùng nhớ từ 3->10 gây mất dữ liệu của vùng nhớ này. thường IDE nó sẽ báo thôi, tự mình quản lý được thì quá pro

Killua viết 19:35 ngày 30/09/2018

Thanks mấy anh

Bài liên quan
0