Cũ hơn K & R (2nd ed.) Và các văn bản C-ngôn ngữ khác mà tôi đã đọc rằng thảo luận về việc thực hiện một cấp phát bộ nhớ động trong phong cách của malloc()
và free()
thường cũng đề cập đến , trong khi đi qua, một cái gì đó về hạn chế liên kết kiểu dữ liệu. Rõ ràng một số kiến trúc phần cứng máy tính (CPU, đăng ký và truy cập bộ nhớ) hạn chế cách bạn có thể lưu trữ và xử lý các loại giá trị nhất định. Ví dụ, có thể có yêu cầu số nguyên 4 byte (long
) phải được lưu trữ bắt đầu tại địa chỉ là bội số của bốn.hạn chế Alignment cho malloc()/Việt()
Những hạn chế, nếu có, thực hiện các nền tảng chính (Intel & AMD, SPARC, Alpha) áp đặt cấp phát bộ nhớ và bộ nhớ, hoặc tôi có thể bỏ qua việc phân bổ bộ nhớ theo địa chỉ cụ thể không?