Bird
Raised Fist0
C++programming~10 mins

Pointer declaration in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare a pointer to an integer named ptr.

C++
int [1] ptr;
Drag options to blanks, or click blank then click option'
A*
B&
C#
D%
Attempts:
3 left
💡 Hint
Common Mistakes
Using & instead of * for pointer declaration.
Forgetting the * symbol when declaring a pointer.
2fill in blank
medium

Complete the code to declare a pointer to a double named ptrDouble.

C++
double [1] ptrDouble;
Drag options to blanks, or click blank then click option'
A*
B&
C^
D!
Attempts:
3 left
💡 Hint
Common Mistakes
Using & which is for address-of operator, not declaration.
Using symbols like ^ or ! which are invalid here.
3fill in blank
hard

Fix the error in the pointer declaration for an integer pointer named p.

C++
int [1] p;
Drag options to blanks, or click blank then click option'
A++
B*
C&&
D&
Attempts:
3 left
💡 Hint
Common Mistakes
Using & which is the address-of operator, not declaration.
Using && which is invalid syntax here.
4fill in blank
hard

Fill both blanks to declare a pointer to a character named ptrChar and initialize it to nullptr.

C++
char [1] ptrChar = [2];
Drag options to blanks, or click blank then click option'
A*
Bnullptr
CNULL
D&
Attempts:
3 left
💡 Hint
Common Mistakes
Using & instead of * for pointer declaration.
Initializing pointer with NULL instead of nullptr.
5fill in blank
hard

Fill all three blanks to declare a pointer to a float named ptrFloat, initialize it to nullptr, and then assign it the address of variable val.

C++
float [1] ptrFloat = [2];
float val = 3.14f;
ptrFloat = [3] val;
Drag options to blanks, or click blank then click option'
A*
Bnullptr
C&
Dval
Attempts:
3 left
💡 Hint
Common Mistakes
Assigning pointer directly to val instead of its address.
Using NULL instead of nullptr for initialization.

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