Giả sử địa chỉ cho A[10][10]
là 40000, số tăng gấp đôi mất 16 byte và địa chỉ byte được sử dụng, địa chỉ cho A[40, 50]
là gì?Công thức tính toán mảng 2D
Tôi chỉ cố gắng để tính toán một điểm đơn giản trong một 2D và chỉ muốn kiểm tra xem tôi cắm vào các giá trị đúng trong phương trình
BA + [n * (i - LBR) + (j - LBC)] * w
40000 +[10*(40-0)+(50-0)]*16
40000+[10*(40)+(50)]*16
40000+[900]*16 = 54400
Tôi đã áp dụng công thức một cách chính xác ở đây tăng gấp đôi? Tôi đã không chắc chắn nếu tôi cắm vào các giá trị phải không?
Bạn đang yêu cầu địa chỉ của 'A [40] [50]' trong một mảng chỉ được khai báo là 'A [10] [10]'? Nếu vậy, địa chỉ là * undefined *. Mảng đó chỉ là địa chỉ từ 'A [0..9] [0..9]'. Ngoài ra, bạn không lưu ý liệu địa chỉ cơ sở đã cho có nằm trong base-16 hay base-10 hay không, nhưng với yêu cầu phần tử không có địa chỉ, nó thực sự không thành vấn đề. – WhozCraig
Bạn đã khai báo mảng của mình như thế nào? Như kích thước mảng của bạn là gì [M, N]? –
là A [100] [100] tôi tin. – user1789951