Master C++ Arrays – Tutorial, Syntax, Examples & 50+ MCQs

C++ Array: Complete Tutorial with Syntax, Examples & FAQs

C++ Array: Complete Tutorial with Syntax, Examples & FAQs

C++ arrays are a fundamental building block in programming that help store multiple values of the same data type. If you're a beginner in C++ or just trying to understand arrays better, this comprehensive guide will walk you through the basics to advanced levels with examples.

What is an Array in C++?

An array in C++ is a collection of variables that are accessed with an index number. It stores elements of the same type and allows efficient access and manipulation of data.

Example:

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

Here, numbers is an integer array of size 5, storing five integers.

Types of Arrays in C++

  • One-Dimensional Array
  • Two-Dimensional Array
  • Multidimensional Array

One-Dimensional Array

This is the simplest form of array, where data is stored in a linear format.

int arr[3] = {1, 2, 3};

Two-Dimensional Array

Used for matrix representation. It contains rows and columns.

int matrix[2][2] = {
  {1, 2},
  {3, 4}
};

Multi-Dimensional Array

Beyond 2D arrays, used in complex simulations and data modeling.

int tensor[2][2][2];

Declaring Arrays in C++

The syntax for declaring an array is:

data_type array_name[array_size];

Example:

float marks[5];

Initializing Arrays

You can initialize arrays in C++ using curly braces {}.

Partial Initialization

int scores[5] = {10, 20};

This initializes the first two elements and the rest are set to 0.

Dynamic Initialization

int n;
cin >> n;
int arr[n]; // Not recommended in standard C++, use vector instead

Accessing Array Elements

Each element is accessed via its index starting from 0.

cout << arr[0];

Looping Through Arrays

for (int i = 0; i < 5; i++) {
    cout << arr[i] << " ";
}

Advantages of Using Arrays

  • Efficient data storage
  • Fast data access using indices
  • Easy to implement algorithms
  • Better memory management

Limitations of Arrays

  • Fixed size
  • No built-in boundary checks
  • Inflexibility compared to dynamic structures

Array vs Vector in C++

Array Vector
Fixed size Dynamic size
Less memory overhead More flexible with STL features
Better performance in tight loops Slower but easier to use

Best Practices for Using Arrays

  • Always define proper size
  • Initialize with default values
  • Use loops to iterate instead of manual indexing
  • Prefer vectors for dynamic data

Common Interview Questions on Arrays in C++

  1. What is the default value of an array in C++?
  2. How are arrays stored in memory?
  3. How to reverse an array using loops?
  4. What is the time complexity of accessing an array element?
  5. Can you use STL with arrays?

Real-Life Uses of Arrays

Arrays are used in:

  • Sorting algorithms (like Bubble, Merge, Quick Sort)
  • Data collection (student marks, product prices)
  • Image processing (2D arrays for pixel data)
  • Simulation and modeling (multi-dimensional arrays)

FAQs: C++ Arrays

Q1: Can we change the size of an array after declaration?

No, once an array is declared, its size is fixed.

Q2: What is the default value in an integer array?

If uninitialized, the values may be garbage in local arrays.

Q3: Should I use arrays or vectors in modern C++?

Vectors are preferred due to their dynamic nature and STL support.

Conclusion

C++ arrays are powerful and essential for every programmer. Mastering them lays the foundation for more advanced topics like data structures and algorithms. By understanding how arrays work, how to declare, initialize, and manipulate them, you can solve a wide range of programming problems with efficiency.

Recommended Reads

Test your knowledge of arrays in C++ with these multiple-choice questions. Each question has four options, and the correct answer is highlighted for easy learning.

  1. Which of the following is the correct way to declare an array in C++?
    • array arr[10];
    • int arr;
    • int arr[10];
    • arr{10};
  2. Arrays in C++ are:
    • Dynamic by default
    • Static by default
    • Flexible in size
    • Character-only
  3. Which of the following accesses the first element of an array named `numbers`?
    • numbers
    • numbers(0)
    • numbers[0]
    • numbers{1}
  4. The index of arrays in C++ starts from:
    • 1
    • 0
    • -1
    • Depends on OS
  5. Which header file is needed to use arrays in C++?
    • No header file is needed
    • #include <array>
    • #include <iostream>
    • #include <stdlib>
  6. If an array is declared as int arr[5], how many elements can it hold?
    • 4
    • 5
    • 6
    • Depends on compiler
  7. What is the output of this code: int arr[3] = {1, 2}; cout << arr[2];
    • 0
    • 2
    • 1
    • Garbage value
  8. Which of the following is a valid array initialization?
    • int arr[] = 1, 2, 3;
    • int arr[3] = 1, 2, 3;
    • int arr[] = {1, 2, 3};
    • int arr(3) = {1, 2, 3};
  9. How do you get the size of an array in C++?
    • sizeof(arr)/sizeof(arr[0])
    • length(arr)
    • arr.size()
    • count(arr)
  10. If `int arr[2][3];` is declared, how many total elements are in the array?
    • 2
    • 3
    • 6
    • 5
  11. Which of the following will declare and initialize a 2D array?
    • int arr[2,3] = {{1,2,3},{4,5,6}};
    • int arr[2][3] = {{1,2,3},{4,5,6}};
    • int arr[3][2] = {1,2,3,4,5,6};
    • int arr[][] = {{1,2,3},{4,5,6}};
  12. What will be the index of the last element in an array of size 7?
    • 6
    • 7
    • 5
    • 0
  13. Which operator is used to access array elements?
    • ()
    • {}
    • []
    • &
  14. What happens if you access out-of-bound array index in C++?
    • Compiler error
    • Undefined behavior
    • Array wraps around
    • Zero is returned
  15. What is stored in an uninitialized array declared inside a function?
    • Garbage values
    • Zero
    • NULL
    • 1
  16. Which data structure is most closely related to an array?
    • Queue
    • Tree
    • Graph
    • List

Post a Comment

0 Comments