Addressing in One Dimensional Array (1D Array)

In C++, arrays store elements in contiguous memory locations. Understanding how memory addressing works helps in efficient programming and pointer manipulation.

In a one dimensional array, each element is stored sequentially, and its address can be calculated using a simple formula.

1. What is a One Dimensional Array?

A one dimensional array is a collection of elements stored in a linear sequence.

C++
1D array example
int arr[5] = {10, 20, 30, 40, 50};

2. Memory Layout of 1D Array

All elements are stored in consecutive memory locations.

arr[0] → base address
arr[1] → base + size
arr[2] → base + 2*size
...

3. Address Calculation Formula

The address of an element in a 1D array can be calculated using:

Address(arr[i]) = Base Address + (i × size of element)

4. Example Calculation

Suppose:

Base Address = 1000
Size of int = 4 bytes
Find address of arr[3]

Address = 1000 + (3 × 4) = 1012

5. Relation with Pointers

Array name acts as a pointer to the first element.

C++
Pointer example
int arr[3] = {1,2,3};
cout << *(arr + 1); // prints 2

6. Indexing in Arrays

Array indexing starts from 0.

arr[0] is the first element.

7. Advantages of Address Calculation

1. Faster access to elements.

2. Efficient memory usage.

3. Useful in pointer arithmetic.

8. Common Mistakes

1. Forgetting zero-based indexing.

2. Accessing out-of-bounds index.

3. Miscalculating element size.

9. Best Practices

1. Always check array bounds.

2. Use sizeof operator for size.

3. Understand pointer arithmetic.

4. Initialize arrays properly.

10. Practice Exercises

1. Calculate address of arr[5].

2. Write program using pointers.

3. Access elements using indexing.

Conclusion

Understanding addressing in 1D arrays helps you work efficiently with memory and pointers in C++.

It is a fundamental concept for advanced topics like data structures and memory management.