What are the initialization values for volatile, static, global, and local variables? What is the purpose of volatile in driver development?
Asked in the Phone Screen stage. Assume C semantics. Implement describe_variable to classify a variable as global, static, or local, indicate whether it is zero-initialized or indeterminate when no explicit initializer exists, and summarize whether volatile changes compiler access behavior.
The function receives three values: a storage-class string, a boolean is_volatile, and a boolean explicitly_initialized. Return a dictionary with initialization and volatile_behavior strings. Treat an explicit initializer as taking precedence over default initialization.
def describe_variable(storage_class, is_volatile, explicitly_initialized):