C++ Single-dimensional arrays


Single-dimensional arrays in C++ are a type of data structure that allows you to store a collection of elements of the same type in a linear format. They are one of the simplest forms of arrays and are used to represent a sequence of items, such as a list of numbers or characters. Single-dimensional arrays provide a way to group related data together under a single name and access the elements using an index.

Key Features of Single-Dimensional Arrays

  1. Fixed Size: The size of a single-dimensional array must be defined at the time of declaration. Once declared, the size cannot be changed during runtime.

  2. Homogeneous Data: All elements of a single-dimensional array must be of the same data type (e.g., all integers, all floats, etc.).

  3. Contiguous Memory Allocation: The elements of a single-dimensional array are stored in contiguous memory locations, allowing for efficient access via indexing.

  4. Zero-Based Indexing: Array indexing in C++ starts from 0, meaning that the first element is accessed with index 0, the second with index 1, and so on.

Syntax for Declaring Single-Dimensional Arrays

The basic syntax for declaring a single-dimensional array in C++ is as follows:

data_type array_name[array_size];

Example of Declaring and Using a Single-Dimensional Array

Here’s a simple example demonstrating how to declare, initialize, and access elements of a single-dimensional array:

#include <iostream> int main() { // Declare a single-dimensional array of integers with a size of 5 int numbers[5]; // Initialize the array numbers[0] = 10; numbers[1] = 20; numbers[2] = 30; numbers[3] = 40; numbers[4] = 50; // Access and print the array elements using a loop std::cout << "Array elements are: "; for (int i = 0; i < 5; i++) { std::cout << numbers[i] << " "; // Output: 10 20 30 40 50 } std::cout << std::endl; return 0; }

Initializing Single-Dimensional Arrays

Single-dimensional arrays can be initialized at the time of declaration using curly braces {}:

int numbers[5] = {10, 20, 30, 40, 50}; // Array initialization

You can also partially initialize an array; the remaining elements will be set to zero:

int numbers[5] = {10, 20}; // Initializes as {10, 20, 0, 0, 0}

If you omit the size, the compiler will determine the size based on the number of initializers:

int numbers[] = {10, 20, 30, 40, 50}; // Size is automatically set to 5

Accessing Array Elements

You can access elements of a single-dimensional array using their index:

std::cout << "First element: " << numbers[0] << std::endl; // Outputs the first element: 10 std::cout << "Last element: " << numbers[4] << std::endl; // Outputs the last element: 50

Modifying Array Elements

You can modify the elements of a single-dimensional array by assigning new values to specific indices:

numbers[2] = 100; // Change the third element to 100 std::cout << "Modified third element: " << numbers[2] << std::endl; // Outputs 100

Looping Through a Single-Dimensional Array

You can use loops to iterate over the elements of a single-dimensional array:

std::cout << "Array elements using a loop: "; for (int i = 0; i < 5; i++) { std::cout << numbers[i] << " "; // Output: 10 20 100 40 50 } std::cout << std::endl;

Advantages of Single-Dimensional Arrays

  1. Efficient Access: Single-dimensional arrays allow for fast access to elements using their indices.
  2. Memory Management: They allocate a contiguous block of memory, making them efficient for storage and retrieval.
  3. Simplicity: They are straightforward to declare and use, making them suitable for many applications.

Disadvantages of Single-Dimensional Arrays

  1. Fixed Size: The size must be determined at compile time, limiting flexibility.
  2. Homogeneous Data: All elements must be of the same type, restricting the kind of data that can be stored.
  3. Difficulties with Resizing: Resizing an array involves creating a new array and copying the elements, which can be inefficient.