Bird
Raised Fist0
Cprogramming~5 mins

Scope of variables - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the scope of a variable in C?
The scope of a variable in C is the part of the program where the variable can be accessed or used.
Click to reveal answer
beginner
What is the difference between local and global variables?
Local variables are declared inside a function and can only be used within that function. Global variables are declared outside all functions and can be used anywhere in the program after their declaration.
Click to reveal answer
intermediate
What happens if a local variable and a global variable have the same name?
The local variable will hide or override the global variable inside its scope (usually inside the function). Outside the function, the global variable is used.
Click to reveal answer
beginner
What is block scope in C?
Block scope means a variable declared inside a pair of braces { } is only accessible inside those braces.
Click to reveal answer
intermediate
What is the scope of a static variable inside a function?
A static variable inside a function keeps its value between calls but is only accessible inside that function.
Click to reveal answer
Where can a global variable be accessed in a C program?
AOnly inside the block where it is declared
BOnly inside the function where it is declared
CAnywhere in the program after its declaration
DNowhere, global variables do not exist in C
What is the scope of a variable declared inside a for loop in C?
AOnly inside the for loop block
BEntire program
COnly inside the function containing the loop
DGlobal scope
If a local variable and a global variable share the same name, which one is used inside the function?
ALocal variable
BGlobal variable
CBoth variables are used simultaneously
DCompilation error
What does the static keyword do when used with a variable inside a function?
AMakes the variable global
BMakes the variable accessible only outside the function
CDeletes the variable after the function ends
DKeeps the variable value between function calls and limits scope to the function
Which of these is NOT a valid scope type in C?
ALocal scope
BClass scope
CBlock scope
DGlobal scope
Explain the difference between local and global variables in C and give an example of each.
Think about where the variables are declared and where they can be used.
You got /4 concepts.
    Describe what happens when a local variable has the same name as a global variable in C.
    Consider which variable the program uses inside the function.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the scope of a variable declared inside a function in C?
      easy
      A. It can be accessed only in the main function.
      B. It is global and can be accessed anywhere in the program.
      C. It is local to that function and cannot be accessed outside.
      D. It is accessible only in loops inside the function.

      Solution

      1. Step 1: Understand variable declaration inside a function

        A variable declared inside a function is created when the function starts and destroyed when it ends.
      2. Step 2: Identify the scope of such variables

        These variables are local to the function and cannot be accessed outside it.
      3. Final Answer:

        It is local to that function and cannot be accessed outside. -> Option C
      4. Quick Check:

        Local variable scope = inside function only [OK]
      Hint: Local variables stay inside their function only [OK]
      Common Mistakes:
      • Thinking local variables are global
      • Assuming local variables exist outside function
      • Confusing local with static variables
      2. Which of the following is the correct way to declare a global variable in C?
      easy
      A. int x; // declared outside any function
      B. int x; inside main()
      C. static int x; inside a function
      D. int x; inside a loop

      Solution

      1. Step 1: Identify global variable declaration

        Global variables are declared outside all functions, usually at the top of the file.
      2. Step 2: Check each option

        int x; // declared outside any function declares int x; outside any function, which is correct for global scope.
      3. Final Answer:

        int x; // declared outside any function -> Option A
      4. Quick Check:

        Global variables declared outside functions [OK]
      Hint: Globals declared outside all functions [OK]
      Common Mistakes:
      • Declaring globals inside functions
      • Using static inside functions for globals
      • Declaring variables inside loops thinking they are global
      3. What will be the output of the following C code?
      int x = 5;
      void func() {
          int x = 10;
          printf("%d", x);
      }
      int main() {
          func();
          printf(" %d", x);
          return 0;
      }
      medium
      A. 10 10
      B. 5 10
      C. 5 5
      D. 10 5

      Solution

      1. Step 1: Analyze variable scopes in func()

        Inside func(), a local variable x is declared with value 10, which hides the global x.
      2. Step 2: Check printf outputs

        First printf prints local x (10). Then main prints global x (5).
      3. Final Answer:

        10 5 -> Option D
      4. Quick Check:

        Local hides global inside function [OK]
      Hint: Local variable hides global inside function [OK]
      Common Mistakes:
      • Assuming global x prints inside func()
      • Mixing order of printed values
      • Ignoring local variable shadowing
      4. Identify the error in the following C code snippet:
      void func() {
          printf("%d", x);
      }
      int main() {
          int x = 5;
          func();
          return 0;
      }
      medium
      A. x is not declared globally, so func() cannot access it
      B. Variable x is used before declaration in func()
      C. Missing return type for main()
      D. Syntax error in printf statement

      Solution

      1. Step 1: Check variable x usage in func()

        func() tries to print x but x is declared only inside main(), so func() cannot see it.
      2. Step 2: Understand variable scope rules

        Variables declared inside main() are local to main() only, not visible in other functions.
      3. Final Answer:

        x is not declared globally, so func() cannot access it -> Option A
      4. Quick Check:

        Local variables not visible outside their function [OK]
      Hint: Functions can't access locals from other functions [OK]
      Common Mistakes:
      • Thinking main()'s x is global
      • Ignoring variable scope rules
      • Assuming implicit global variables
      5. Consider the following C code:
      int x = 1;
      void outer() {
          int x = 2;
          {
              int x = 3;
              printf("%d ", x);
          }
          printf("%d ", x);
      }
      int main() {
          outer();
          printf("%d", x);
          return 0;
      }

      What is the output when this program runs?
      hard
      A. 1 2 3
      B. 3 2 1
      C. 3 3 3
      D. 2 3 1

      Solution

      1. Step 1: Analyze innermost block variable

        The innermost block declares x = 3, so first printf prints 3.
      2. Step 2: Analyze outer block variable

        After inner block ends, the x = 3 goes out of scope, so next printf prints outer x = 2.
      3. Step 3: Analyze global variable in main()

        Finally, main prints global x = 1.
      4. Final Answer:

        3 2 1 -> Option B
      5. Quick Check:

        Inner blocks hide outer variables [OK]
      Hint: Inner block variables override outer ones [OK]
      Common Mistakes:
      • Ignoring block-level scope
      • Assuming all x print same value
      • Confusing order of prints
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard