Bird
Raised Fist0
C++programming~15 mins

Pointer declaration in C++ - Mini Project: Build & Apply

Choose your learning style10 modes available
Pointer Declaration in C++
📖 Scenario: Imagine you are working with a simple program that needs to store and access the memory address of an integer variable. This is common in many real-world applications where you want to work directly with memory locations.
🎯 Goal: You will create a pointer to an integer variable, assign the address of the variable to the pointer, and then print the value using the pointer.
📋 What You'll Learn
Create an integer variable named num with the value 42.
Declare a pointer to an integer named ptr.
Assign the address of num to ptr.
Print the value of num using the pointer ptr.
💡 Why This Matters
🌍 Real World
Pointers are used in many programs to efficiently manage memory and work with data structures like linked lists, trees, and arrays.
💼 Career
Understanding pointers is essential for systems programming, embedded development, and performance-critical applications.
Progress0 / 4 steps
1
Create an integer variable
Create an integer variable called num and set it to 42.
C++
Hint

Use int to declare an integer variable and assign the value 42.

2
Declare a pointer to the integer
Declare a pointer to an integer called ptr.
C++
Hint

Use int* to declare a pointer to an integer.

3
Assign the address of the variable to the pointer
Assign the address of num to the pointer ptr using the address-of operator &.
C++
Hint

Use ptr = # to assign the address of num to ptr.

4
Print the value using the pointer
Print the value of num by dereferencing the pointer ptr using *ptr and std::cout.
C++
Hint

Use std::cout << *ptr << std::endl; to print the value pointed to by ptr.

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