Bird
Raised Fist0
C++programming~5 mins

Pointer declaration in C++ - 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. It 'points' to the location where data is stored.
Click to reveal answer
beginner
How do you declare a pointer to an integer in C++?
You declare it using the syntax: int* ptr; Here, 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 type, meaning it holds the address of a variable of the specified type.
Click to reveal answer
beginner
Explain the difference between int* ptr; and int *ptr;.
Both are the same. The position of the asterisk (*) does not change the meaning. It just shows ptr is a pointer to an int.
Click to reveal answer
intermediate
What happens if you declare a pointer but do not initialize it?
The pointer will contain a garbage (random) address. 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*;
Cptr* float;
Dfloat &ptr;
What does the pointer variable store?
AThe size of a variable
BThe value of another variable
CThe memory address of another variable
DThe type of a variable
How do you declare a pointer to an integer named p?
Aint p*;
Bint &p;
Cint p;
Dint* p;
What is the value of an uninitialized pointer?
ARandom garbage address
BNULL
CThe address of the pointer itself
D0
Which symbol is used to declare a pointer?
A&
B*
C#
D$
Describe how to declare a pointer to a variable in C++ and explain what it stores.
Think about how you tell the computer to remember where something is stored.
You got /3 concepts.
    What risks are there if you use a pointer without initializing it first?
    Consider what happens if you try to use a random address.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which of the following correctly declares a pointer to an integer in C++?
      easy
      A. ptr int*;
      B. int ptr*;
      C. *int ptr;
      D. int *ptr;

      Solution

      1. Step 1: Understand pointer declaration syntax

        In C++, a pointer to a type is declared by writing the type followed by an asterisk (*) and then the pointer name.
      2. Step 2: Check each option

        int *ptr; uses int *ptr; which is the correct syntax. Other options place the asterisk incorrectly.
      3. Final Answer:

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

        Pointer declaration = type *name [OK]
      Hint: Remember: type *name; declares a pointer [OK]
      Common Mistakes:
      • Placing * after the variable name
      • Using * before the type keyword
      • Omitting the * entirely
      2. Which of the following is the correct syntax to declare a pointer to a double variable named p?
      easy
      A. double *p;
      B. p double*;
      C. *double p;
      D. double p*;

      Solution

      1. Step 1: Recall pointer declaration rules

        The pointer declaration syntax is type *pointerName;. The asterisk (*) must come immediately before the pointer name.
      2. Step 2: Evaluate options

        double *p; correctly declares double *p;. Other options have misplaced asterisks or wrong order.
      3. Final Answer:

        double *p; -> Option A
      4. Quick Check:

        Pointer to double = double *p; [OK]
      Hint: Put * right before pointer name, after type [OK]
      Common Mistakes:
      • Writing * after the variable name
      • Placing * before the type keyword
      • Swapping variable and type order
      3. What is the output of the following code?
      int x = 10;
      int *p = &x;
      std::cout << *p << std::endl;
      medium
      A. Garbage value
      B. Address of x
      C. 10
      D. Compilation error

      Solution

      1. Step 1: Understand pointer initialization

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

        The expression *p accesses the value stored at the address p points to, which is 10.
      3. Final Answer:

        10 -> Option C
      4. Quick Check:

        *p gives value at address = 10 [OK]
      Hint: Dereference pointer *p to get variable value [OK]
      Common Mistakes:
      • Printing pointer variable instead of dereferenced value
      • Confusing & (address) with * (dereference)
      • Expecting address output instead of value
      4. Identify the error in the following code snippet:
      int a = 5;
      int *ptr;
      *ptr = a;
      medium
      A. Pointer ptr is not initialized before dereferencing
      B. Variable a is not declared
      C. Incorrect pointer declaration syntax
      D. Missing semicolon after declaration

      Solution

      1. Step 1: Check pointer initialization

        The pointer ptr is declared but not assigned any address before dereferencing.
      2. Step 2: Understand dereferencing uninitialized pointer

        Dereferencing *ptr without initialization leads to undefined behavior or runtime error.
      3. Final Answer:

        Pointer ptr is not initialized before dereferencing -> Option A
      4. Quick Check:

        Uninitialized pointer dereference = error [OK]
      Hint: Always initialize pointer before using *ptr [OK]
      Common Mistakes:
      • Dereferencing pointer before assigning address
      • Assuming declaration initializes pointer
      • Ignoring runtime errors from uninitialized pointers
      5. Given the code below, which pointer declaration correctly allows p to point to a constant integer value?
      const int val = 100;
      // Which declaration is correct?
      
      hard
      A. int *p = &val;
      B. const int *p = &val;
      C. int *const p = &val;
      D. int *p const = &val;

      Solution

      1. Step 1: Understand pointer to const int

        To point to a constant integer, the pointer must be declared as pointing to a const int to prevent modification.
      2. Step 2: Analyze options

        int *p = &val; cannot assign const int* to int* (discards qualifiers). const int *p = &val; correctly declares pointer to const int. int *const p = &val; declares const pointer to int (type mismatch). int *p const = &val; invalid syntax.
      3. Final Answer:

        const int *p = &val; -> Option B
      4. Quick Check:

        Pointer to const int = const int *p [OK]
      Hint: Use const int *p to point to constant int [OK]
      Common Mistakes:
      • Using int *p to point to const int
      • Confusing const pointer and pointer to const
      • Misplacing const keyword
      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