Nếu x là một biến toàn cục và x không phải là một con trỏ thì:
Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình.
Miền nhớ dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main ().
Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main ().
Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình.
Đáp án đúng: D
Trong C/C++, biến toàn cục (global variable) được cấp phát bộ nhớ tĩnh trong suốt thời gian chương trình chạy. Điều này có nghĩa là địa chỉ (miền nhớ) của biến toàn cục sẽ không thay đổi. Tuy nhiên, giá trị của biến toàn cục có thể thay đổi thông qua các thao tác gán giá trị từ bất kỳ hàm nào trong chương trình, bao gồm cả hàm main()
và các hàm khác.
- Phương án A: Sai. Miền nhớ (địa chỉ) của x không thay đổi.
- Phương án B: Sai. Giá trị của x có thể thay đổi bởi các hàm khác, không chỉ trong
main()
. - Phương án C: Đúng một phần nhưng chưa chính xác hoàn toàn. Giá trị của x có thể thay đổi bởi tất cả các hàm, nhưng câu hỏi đề cập đến *miền nhớ*, không phải giá trị.
- Phương án D: Đúng. Miền nhớ (địa chỉ) của biến toàn cục không thay đổi trong quá trình thực hiện chương trình.