Khai báo biến và con trỏ, bộ nhớ được cấp phát

Xin chào cả nhà,
Mình muốn hỏi về cách hoạt động khi biên dịch
Khi khai báo:

int a, *b;  

Thì compiler sẽ làm gì.

Cảm ơn sự giúp đỡ của mọi người

Nếu là kiến trúc X86 32 bit thì:
Nếu là trong function thì có thể compiler sẽ sinh ra logic tương đương với:

sub esp, 8h // 4 byte cho int a, 4 byte cho int *b trên stack

Nếu là khai báo ngoài function thì compiler sẽ dành 8 byte cho 2 biến này trong .rdata trong executable file.

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