# Accessing Pointers

Accessing pointers involves retrieving and displaying both the values they point to and the memory addresses they hold. This section will cover various aspects of accessing pointers in C.

## **Accessing Pointer Values**

* To access the value pointed to by a pointer, you use the dereference operator (`*`). Here's an example:

  ```c
  int number = 42;
  int *pointerToNumber = &number;

  // Accessing the value through the pointer
  int value = *pointerToNumber;
  ```

The variable `value` now contains the content of the memory location pointed to by `pointerToNumber`.

## **Displaying a Pointer's Value**

* You can display the value pointed to by a pointer using `printf`:

  ```c
  printf("Value pointed to by the pointer: %d\n", *pointerToNumber);
  ```

This line prints the value pointed to by `pointerToNumber`.

## **Displaying an Address**

* To display the memory address stored in a pointer, you use the `%p` format specifier with `printf`:

  ```c
  printf("Memory address stored in the pointer: %p\n", (void *)pointerToNumber);
  ```

The `(void *)` typecast is used to match the `%p` format specifier's requirements.

## **Displaying the Number of Bytes a Pointer is Using**

* You can determine the number of bytes a pointer is using with the `sizeof` operator:

  ```c
  printf("Size of the pointer in bytes: %lu\n", sizeof(pointerToNumber));
  ```

This line prints the size of `pointerToNumber` in bytes.

## **Example**

* Here's a complete example demonstrating accessing pointer values and displaying information:

  ```c
  #include <stdio.h>

  int main() {
      int number = 42;
      int *pointerToNumber = &number;

      // Accessing the value through the pointer
      int value = *pointerToNumber;

      // Displaying the value pointed to by the pointer
      printf("Value pointed to by the pointer: %d\n", *pointerToNumber);

      // Displaying the memory address stored in the pointer
      printf("Memory address stored in the pointer: %p\n", (void *)pointerToNumber);

      // Displaying the size of the pointer in bytes
      printf("Size of the pointer in bytes: %lu\n", sizeof(pointerToNumber));

      return 0;
  }
  ```

Running this program will provide insights into how to access pointer values and display related information.

This section gives you a comprehensive understanding of accessing pointers and displaying pertinent information. If you have specific questions or if there are additional topics you'd like to explore, feel free to ask!
