What is the scope of a global variable in C?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "Throughout the entire program". Biến khai báo ngoài mọi hàm có phạm vi tệp và thời gian sống tĩnh: nó được cấp chỗ một lần khi chương trình nạp và tồn tại tới lúc kết thúc, nên mọi hàm viết sau khai báo đều thấy nó, và tệp nguồn khác cũng dùng được qua khai báo extern; đó chính là nghĩa của cả chương trình. Mô tả "Only within the function where it's declared" ứng với biến cục bộ, thứ sinh ra trên khung ngăn xếp mỗi lần gọi hàm rồi mất đi khi hàm trả về. Mô tả "Only within the block where it's declared" là phạm vi khối, áp cho biến khai báo trong cặp ngoặc nhọn của thân vòng lặp hay nhánh rẽ. Mô tả "Within the structure where it's defined" nhầm biến với trường của struct; trường chỉ là thành phần của một kiểu, chạm tới qua tên biến struct chứ không phải một biến toàn cục.