Hàm memset() trong c
int dp<1005><20005>;
Bạn đang xem: Hàm memset() trong c
#include #include int main() char x<10><10><10>; printf("%lu", sizeof x); // 10 * 10 * 10 = 1000 return 0;Tổng size của những chiều của mảng.Đoạn mã của người sử dụng sizeof dp trả về 1005 * 20005 = 20105025.
Mà bau giờ đồng hồ thấy nhiều bạn muốn thêm vài phần tử vào mảng nhỉ? Mảng 1000 thành phần thì khai báo thành 1005!?
SITUVN.gcd:
Mà bau giờ đồng hồ thấy nhiều bạn muốn thêm vài bộ phận vào mảng nhỉ? Mảng 1000 phần tử thì khai báo thành 1005!?
Thầy cô bảo là thêm vài bộ phận để kiêng lỗi nào đó ấy :>
Thầy cô tàm xàm quá!Hàm memset có tác dụng đúng theo tên của chính nó memory set (value). Gán từng ô lưu giữ thành 1 quý giá nhất định.
Chắc thầy cô sợ access out of bound làm hư chương trình chấm bài

1 int = 4 bytes = 32 bitsmemset(dp, 0, sizeof dp); nó đang đặt từng bytes của mảng int dp<1005><20005>; thành 0
VD: số n dạng là xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (x = 0, 1) (dạng nhị phân của n đó)
memset(dp, 0, sizeof dp); đang biến toàn thể n thành 00000000 00000000 00000000 00000000tức là = 0;
VD2: memset(dp, 60, sizeof dp); bởi 60_10 = 00111100_2nên cục bộ số hạng của mảng dp sẽ bằng 00111100 00111100 00111100 00111100 = 60 imes(2^0+2^8+2^16+2^24) = 1010580540 > 10^9
VD3 : memset(dp, -1, sizeof dp); sẽ gán toàn thể giá trị mảng = -1
2 Likes
tntxtnt () July 12, 2021, 3:00pm #7

Xem thêm: Viết Chương Trình Nhập Vào Một Số Và Kiểm Tra Xem Số Đó Có Phải Là Số Nguyên Tố Hay Không?
=257701985340>2×109
60×(2^0+2^8+2^16+2^colorred24) nha :V làm thế nào mà gán > 2^32 được :V
SITUVN.gcd:
Đoạn mã của người tiêu dùng sizeof dp trả về 1005∗20005=201050251005 * 20005 = 201050251005∗20005=20105025.
sizeof trả về size bytes của dp nha :V còn đề xuất nhân sizeof(int) nữa :V
1 lượt thích
SITUVN.gcd (SITUVN.gcd) July 12, 2021, 3:06pm #8

sizeof trả về kích cỡ bytes của dp nha :V còn phải nhân sizeof(int) nữa :V
Không chú ý nó vẻ bên ngoài int, trong đầu lại nghĩ mang đến char.

1 lượt thích
Xem thêm: Phân Tích Những Điều Kiện Khách Quan Quy Định Sứ Mệnh Lịch Sử Của Giai Cấp Công Nhân
trang chủ Categories FAQ/Guidelines Terms of Service Privacy Policy
Powered by Discourse, best viewed with JavaScript enabled