Kiểu dữ liệu Struct

Chào mọi người, mình đang học kỹ thuật lập trình bài Struct
Mình gặp trường hợp như thế này:

  • Khi mình khai báo kiểu dữ liệu struct, bên trong của nó sẽ là các biến con, mình đặt các biến con là mặc định và có kiểm tra lại nó đc cấp phát bao nhiêu trong bộ nhớ.
  • Và mình nhận ra rằng, nếu thay đổi vị trí các khai báo biến con trong struct đó thì số bộ nhớ cấp phát cũng thay đổi theo.
  • Cho mình hỏi rằng, việc thay đổi số bộ nhớ đc cấp phát như vậy là có logic gì để cho mình biết hay không ? Và nếu thay đổi sự cấp phát như vậy thì mình nghĩ cũng phải có một trình tự sắp xếp các khao báo biến như thế nào để tối ưu bộ nhớ nhất đúng ko các bạn nhỉ ?
1 Like

Wow ít ai học mà thắc mắc về vấn đề này như bạn :stuck_out_tongue:
Vde của bạn đây: https://en.wikipedia.org/wiki/Data_structure_alignment
DNH cũng từng viết một bài về nó: [Chia sẻ] Data structure alignment & padding

7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?