C++ Array::data() Function



The C++ std::array::data() function provides a direct pointer to the underlying array used by a array container. This function returns a pointer to the first element of the array, allowing access to the internal data.

Syntax

Following is the syntax for std::array::data() function.

value_type* data() noexcept; const value_type* data() const noexcept;

Parameters

It does not accepts any parameter

Return Value

It returns a pointer to the data contained by the array object.

Exceptions

This function never throws exception.

Time complexity

Constant i.e. O(1)

Example 1

In the following example, we are going to consider the basic usage of the data() function.

Open Compiler
#include <iostream> #include <array> using namespace std; int main(void) { array < char, 128 > s = {"C++ standard library from tutorialspoint.com"}; char * p, * q; p = s.data(); cout << p << endl; q = p; while ( * q) { cout << * q; ++q; } cout << endl; return 0; }

Output

Output of the above code is as follows −

C++ standard library from tutorialspoint.com
C++ standard library from tutorialspoint.com

Example 2

Consider the following example, where we are going to apply the data() function on the integer array.

Open Compiler
#include <iostream> #include <array> using namespace std; int main() { array < int, 10 > arr = {9,12,15,18,21,24,27,30,33,36}; cout << "The array elements are "; for (auto it = arr.begin(); it != arr.end(); it++) cout << * it << " "; auto it = arr.data(); cout << "\nThe first element = " << * it; it++; cout << "\nThe second element = " << * it; it++; cout << "\nThe third element = " << * it; return 0; }

Output

Following is the output of the above code −

The array elements are 9 12 15 18 21 24 27 30 33 36 
The first element = 9
The second element = 12
The third element = 15

Example 3

Let's look at the following example, where we are going to consider th character array and applying the data() function.

Open Compiler
#include <iostream> #include <array> using namespace std; int main() { array < char, 3 > x = {'a','n','u'}; cout << "The array elements are = "; for (auto it = x.begin(); it != x.end(); it++) cout << * it << " "; auto it = x.data(); cout << "\nThe first element = " << * it; return 0; }

Output

If we run the above code it will generate the following output −

The array elements are = a n u 
The first element = a
array.htm
Advertisements