WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

C · Advanced · question 45 of 100

What is the role of volatile keyword in C, and when should you use it?

📕 Buy this interview preparation book: 100 C questions & answers — PDF + EPUB for $5

In C programming, the volatile keyword is used to indicate to the compiler that a variable’s value can be changed unexpectedly by external factors. It is often used with variables that are accessed by multiple threads, interrupt handlers, or memory-mapped devices.

When a variable is marked as volatile, the compiler will not optimize away any code that accesses or modifies that variable. This ensures that any changes to the variable’s value are reflected in the program’s execution, even if the compiler might otherwise optimize them out.

Here’s an example of how to use the volatile keyword in C:

    #include <stdio.h>
    
    int main() {
        volatile int count = 0; // declare volatile variable
        
        while (count < 10) { // loop until count reaches 10
            printf("Count: %dn", count);
            count++; // increment count
        }
        
        return 0;
    }

In this example, we declare a variable count as volatile. This is because we want to make sure that any changes to count’s value are reflected in the program’s execution. We then enter a loop that prints the current value of count and increments it until it reaches 10.

By marking count as volatile, we ensure that the compiler does not optimize away any code that accesses or modifies its value. This ensures that any changes to count’s value, such as if it were modified by an interrupt handler, are reflected in the program’s execution.

In general, you should use the volatile keyword when dealing with variables that can be modified by external factors, such as interrupt handlers or memory-mapped devices. However, it is important to use it judiciously, as marking a variable as volatile can make the program slower and may have unintended consequences if not used properly.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic C interview — then scores it.
📞 Practice C — free 15 min
📕 Buy this interview preparation book: 100 C questions & answers — PDF + EPUB for $5

All 100 C questions · All topics