Bird
Raised Fist0
Cprogramming~5 mins

Pointer declaration - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a pointer in C?
A pointer is a variable that stores the memory address of another variable.
Click to reveal answer
beginner
How do you declare a pointer to an integer in C?
Use the syntax: int *ptr; where ptr is a pointer to an integer.
Click to reveal answer
beginner
What does the asterisk (*) mean in a pointer declaration?
The asterisk (*) indicates that the variable is a pointer to the type specified before it.
Click to reveal answer
intermediate
Explain the difference between int *ptr; and int* ptr;.
Both declare a pointer to an int. The placement of * does not change the meaning; it's a style choice.
Click to reveal answer
intermediate
What happens if you declare a pointer but do not initialize it?
The pointer contains a garbage address and using it without initialization can cause errors or crashes.
Click to reveal answer
Which of the following declares a pointer to a float?
Afloat *ptr;
Bfloat ptr*;
C*float ptr;
Dptr float*;
What does the pointer variable store?
AThe value of another variable
BThe memory address of another variable
CThe size of a variable
DThe type of a variable
How do you declare a pointer to a character?
Aptr char*;
Bchar ptr*;
C*char ptr;
Dchar* ptr;
What is wrong with this declaration? int ptr;
AIt declares an integer variable, not a pointer
BIt declares a pointer to a pointer
CIt declares a pointer correctly
DIt declares a pointer to a float
Which symbol is used to declare a pointer variable?
A#
B&
C*
D$
Describe how to declare a pointer to an integer and explain what it stores.
Think about how you tell the computer to hold an address instead of a value.
You got /3 concepts.
    Explain why it is important to initialize a pointer before using it.
    Imagine using a map with a wrong address.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the following declaration mean in C?
      int *ptr;
      easy
      A. ptr is a pointer to a character variable
      B. ptr is a pointer to an integer variable
      C. ptr is an integer variable
      D. ptr is a function returning an integer

      Solution

      1. Step 1: Understand the * symbol in declaration

        The * before ptr means ptr is a pointer variable, not a normal integer.
      2. Step 2: Check the type before *

        The type before * is int, so ptr points to an integer variable.
      3. Final Answer:

        ptr is a pointer to an integer variable -> Option B
      4. Quick Check:

        int *ptr means pointer to int [OK]
      Hint: Look for * before variable name to identify pointer [OK]
      Common Mistakes:
      • Thinking * means multiplication here
      • Confusing pointer with normal variable
      • Ignoring the type before *
      2. Which of the following is the correct way to declare a pointer to a float variable in C?
      easy
      A. ptr float*;
      B. float ptr*;
      C. *float ptr;
      D. float *ptr;

      Solution

      1. Step 1: Recall pointer declaration syntax

        Pointer declaration syntax is: type *name; so the * goes between type and variable name.
      2. Step 2: Check each option

        float *ptr; matches correct syntax: float *ptr; others have wrong order or missing parts.
      3. Final Answer:

        float *ptr; -> Option D
      4. Quick Check:

        Pointer syntax = type *name; [OK]
      Hint: Always put * between type and variable name [OK]
      Common Mistakes:
      • Placing * after variable name
      • Putting * before type
      • Missing * entirely
      3. What is the output of this C code?
      int x = 10;
      int *p = &x;
      printf("%d", *p);
      medium
      A. 10
      B. Compilation error
      C. Garbage value
      D. Address of x

      Solution

      1. Step 1: Understand pointer initialization

        p is assigned the address of x using &x, so p points to x.
      2. Step 2: Dereference pointer to get value

        *p means value at address p, which is x's value 10.
      3. Final Answer:

        10 -> Option A
      4. Quick Check:

        *p gives value at pointer address [OK]
      Hint: Use * to get value from pointer address [OK]
      Common Mistakes:
      • Printing pointer p instead of *p
      • Confusing address and value
      • Forgetting & to get address
      4. Identify the error in this pointer declaration:
      int *p;
      p = 5;
      medium
      A. Error: assigning integer directly to pointer
      B. Correct: p points to integer 5
      C. Error: missing * in assignment
      D. Error: pointer must be initialized with & operator

      Solution

      1. Step 1: Check pointer assignment rules

        A pointer must hold a memory address, not a direct integer value.
      2. Step 2: Analyze given assignment

        Assigning 5 directly to pointer p is invalid; it should be an address like &variable.
      3. Final Answer:

        Error: assigning integer directly to pointer -> Option A
      4. Quick Check:

        Pointer = address, not direct value [OK]
      Hint: Pointers store addresses, never assign raw values directly [OK]
      Common Mistakes:
      • Assigning integer instead of address
      • Forgetting & operator for address
      • Confusing pointer and normal variable
      5. Given the code below, which pointer declaration correctly allows modifying the value of num through the pointer?
      int num = 20;
      // Which declaration is correct?
      
      hard
      A. int *ptr = num;
      B. int ptr = #
      C. int *ptr = #
      D. int &ptr = num;

      Solution

      1. Step 1: Understand pointer declaration for modifying variable

        To modify num via pointer, pointer must hold address of num, declared as int *ptr.
      2. Step 2: Check each option

        int *ptr = # correctly declares pointer to int and assigns address of num. Others are invalid syntax or wrong types.
      3. Final Answer:

        int *ptr = # -> Option C
      4. Quick Check:

        Pointer to int = &variable for modification [OK]
      Hint: Use int *ptr = &var to modify var via pointer [OK]
      Common Mistakes:
      • Assigning value instead of address
      • Using wrong type for pointer
      • Confusing references with pointers
      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