Cấp phát ô nhớ cho các biến trong C

Em có test thử về việc cấp phát bộ nhớ và thấy các biến liên tiếp đc cấp phát ô nhớ 1 cách liên tiếp:
2293436
2293432
2293428
2293424
2293420
2293416
2293412
2293408
Em đã tìm thử nhưng không thấy tài liệu nào nói về cái này. Các anh cho em hỏi cái này có phải trong trường hợp nào các biến cũng đc cấp phát ô nhớ 1 cách liên tiếp hay chỉ là tùy từng máy (hoặc ngôn ngữ lập trình hay gì đó …) thôi ạ.

1 Like

các biến kia đều nằm trên stack thì nó nằm chồng lên nhau nên địa chỉ của chúng liên tiếp nhau đúng rồi. Có điều ko biết a nằm trên c hay b nằm dưới c thôi :V

nếu em muốn bảo đảm a nằm trước b, b nằm trước c thì cho vào 1 struct :V

struct {
  int a, b, c;
} abc; // abc.a nằm trước abc.b nằm trước abc.c
7 Likes

em cảm ơn anh ạ :ok_man: :ok_man:

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