Scope resolution is the process the compiler uses to find the meaning of an identifier like a variable or function name. When the compiler sees an identifier, it first looks in the local scope, which is the current function or block. If it finds the identifier there, it uses that value and stops searching. If not found locally, it checks enclosing scopes, such as outer functions or blocks. If still not found, it checks the global scope. If the identifier is not found in any scope, the compiler reports an error. For example, if a variable x is declared globally as 5 and locally inside a function as 10, the function uses the local x with value 10. This is because the local scope hides the global one. This step-by-step checking ensures the correct value is used depending on where the identifier is declared.