Pass array to functions in C++
Hello, Coders! In this tutorial, we will learn how to pass an Array as an argument to a function in C++.
In C++, an array can be passed to the functions just as the variables. We can pass the array by mentioning its name as well as by passing it as a pointer. In this process, only the starting address of the array gets passed to the function instead of the entire array.
Let’s discuss the ways to pass the Array as an argument:
- Array as a pointer
- Passing the array using its name
Array as a Pointer in C++
- We can pass the array as a pointer to the function so that the address of the array can be accessed by the function.
Syntax:
datatype FunctionName(datatype *name_of_the_array) {
-
-
-
-
}Example:
double avgMark(int *a, int numOfSub) {
int i, sum = 0;
double avg;
for (i = 0; i < numOfSub; i++) {
sum += a[i];
}
avg = double(sum) / numOfSub;
return avg;
}
Let’s call the function in a program:
int main() {
int numOfSub, a[100];
cout << "Enter the Number Of Subject" << endl;
cin >> numOfSub;
cout << "Enter the Marks of the Subject respectively:"
<< endl;
for (int i = 0; i < numOfSub; i++) {
cin >> a[i];
}
double avg;
//Pass the array as a pointer
avg = avgMark(a, numOfSub);
cout << "The Average Mark Is: " << avg << endl;
return 0;
}Output:
Enter the Number Of Subject 5 Enter the Marks of the Subject respectively: 89 78 69 81 97 The Average Mark Is: 82.8
Passing the Array using its name in C++
- We can also pass the array only by using its name only.
Note: array[], array is same as the *array. The function treated the array name as a pointer. (a[ ] is same as the *a)
Syntax:
datatype FunctionName(datatype name_of_the_array[]) {
-
-
-
-
}Example:
double avgMark(int a[], int numOfSub) {
int i, sum = 0;
double avg;
for (i = 0; i < numOfSub; i++) {
sum += a[i];
}
avg = double(sum) / numOfSub;
return avg;
}Calling the function in a program;
int main() {
int numOfSub, a[100];
cout << "Enter the Number Of Subject" << endl;
cin >> numOfSub;
cout << "Enter the Marks of the Subject respectively:"
<< endl;
for (int i = 0; i < numOfSub; i++) {
cin >> a[i];
}
double avg;
//Pass the array as a pointer
avg = avgMark(a, numOfSub);
cout << "The Average Mark Is: " << avg << endl;
return 0;
}Output:
Enter the Number Of Subject 5 Enter the Marks of the Subject respectively: 78 59 71 69 58 The Average Mark Is: 67
Hope this article has helped you understand the concept of passing the array to the function in C++.
Happy Coding!!
You can also read, Default arguments in the C++ function
Leave a Reply