Theo em biết thì những biến như: biến cục bộ, toàn cục, biến tĩnh, hằng số … được cấp phát lúc compile, còn những biến được cấp phát động (bằng new, malloc…) thì sẽ được cấp phát vào thời điểm runtime.
Theo em biết thì thời điểm compile time ý nói đến lúc compile chương trình từ 1 đoạn code thành file exe. Nhưng thực tế trong quá trình dịch ra file .exe , trình biên dịch lưu lại thông tin về các biến để lúc thực thi thì nó sẽ biết để chiếm bao nhiêu ô nhớ trong RAM ngay lập tức? điều này đúng không ạ?
Ví dụ ta khai báo:
int arr[5];
int b;
thì có phải trình biên dịch sẽ lưu lại thông tin về các biến này (nghĩa là lưu vào đầu file exe) để khi chương trình được thực thi thì nó sẽ chiếm 5*4+4=24 byte trên RAM ngay lập tức đúng ko ạ?

khi vào hàm thì mới trừ stack rồi lấy offset.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?