Thắc Mắc về "Malloc" và "Calloc" trong C

Em đang bị vướng về cách sử dụng hai hàm malloccalloc trong lập trình C đó là khi em cấp phát bộ nhớ là 0 byte cho con trỏ thì tại sao khi chạy chương trình nhập dữ liệu vào vẫn được?

Đoạn code em chạy như trong hình phía dưới:

Các bác ai biết giải thích giúp em biết tại sao hiện tượng trên xảy ra với?

Em cảm ơn!

Được hỏi 3 tuần trước
Bình chọn bởi: Đức Nam, Vân Trần, Roy Trịnh, Hoàng Tùng, Yanell Bự, Nguyen Duy, Hoang Anh, Duan Le, Đăng Duy, Duc Otore, Tuấn Anh, Trần Diễm, Hải Phạm, Nguyễn Văn Tuấn, Minh Phạm, Torrest Vũ, Linh Vũ, Trần Anh, Huy Pro, Ngô Thanh Hải, Kim Hani, Khoi Tran, Đức Tuấn, Nguyễn Duy Tuấn, Giang River, Phuong Jenny, Hoàng Giang, Nguyen Kelly

Cách khai báo: size nmemb = 0 hay dùng cho các version c trước đây. Khi bạn khai báo như trên thì tương đương với khai báo int *p = null; việc truy xuất dữ liệu của con trỏ rác sẽ dẫn đến kết quả không chính xác hoặc chết chương trình.

Trả lời 2 tuần trước

Thêm Trả Lời