Vài ngày trở lại tôi đã có một cuộc phỏng vấn nhưng, tôi vẫn đang tìm kiếm câu trả lời. Tôi muốn hiểu tầm quan trọng của việc sử dụng từ khóa dễ bay hơi.Sự khác biệt giữa biến động & extern là gì?
Tìm mã bên dưới: Hai trường hợp khác nhau.
//project1
//File1.c
int abc;//Global variable
/*And this variable is getting used in some other files too.*/
if(abc == 3) //Say
{
printf("abc == 3");
}
else
{
printf("abc != 3");
}
/*So if or else part will not be optimized
because "abc" can not be predicted,
the value can chage at any point of time */
//Project2
//file1.c
volatile int abc;//Global variable with volatile keyword
/*And this variable is getting used in some other files too.*/
if(abc == 3) //Say
{
printf("abc == 3");
}
else
{
printf("abc != 3");
}
/*So if or else part will not be optimized
because "abc" can not be predicted as it is declared as volatile,
the value can chage at any point of time */
Tại sao chúng ta nên sử dụng từ khóa dễ bay hơi thay thế?
có thể trùng lặp của [Sự khác biệt giữa biến biến động tĩnh và tĩnh tĩnh là gì?] (Http: // stackoverflow.com/questions/346306/cái gì-là-sự khác biệt-giữa-một-tĩnh-toàn cầu-và-tĩnh-biến động-biến) – NPE
dễ bay hơi và extern là hoàn toàn không liên quan. –
@MarkByers: Bạn nói đúng, nhưng theo câu hỏi của người phỏng vấn, cả hai điều trên đều tương tự nhau. Vậy tại sao dễ bay hơi? –