Here is a listing of C++ language interview questions “Pointers into Arrays” along with answers, explanations and/or solutions:
1. What is the meaning of the following declaration?
int(*p[5])();
a) p is pointer to function
b) p is array of pointer to function
c) p is pointer to such function which return type is the array
d) p is pointer to array of function
View Answer
Explanation: In the above declaration the variable p is the array, not the pointer.
2. What is size of generic pointer in C++ (in 32-bit platform)?
a) 2
b) 4
c) 8
d) 0
View Answer
Explanation: Size of any type of pointer is 4 bytes in 32-bit platforms.
3. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
int a[2][4] = {3, 6, 9, 12, 15, 18, 21, 24};
cout << *(a[1] + 2) << *(*(a + 1) + 2) << 2[1[a]];
return 0;
}
a) 15 18 21
b) 21 21 21
c) 24 24 24
d) Compile time error
View Answer
Explanation: a[1][2] means 1 * (4)+2 = 6th element of an array starting from zero.
Output:
$ g++ point.cpp $ a.out 21 21 21
4. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
int i;
const char *arr[] = {"C", "C++", "Java", "VBA"};
const char *(*ptr)[4] = &arr;
cout << ++(*ptr)[2];
return 0;
}
a) ava
b) java
c) c++
d) compile time error
View Answer
Explanation: In this program we are moving the pointer from first position to second position and printing the remaining value.
Output:
$ g++ point1.cpp $ a.out ava
5. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
int arr[] = {4, 5, 6, 7};
int *p = (arr + 1);
cout << *p;
return 0;
}
a) 4
b) 5
c) 6
d) 7
View Answer
Explanation: In this program, we are making the pointer point to next value and printing it.
$ g++ point3.cpp $ a.out 5
6. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
int arr[] = {4, 5, 6, 7};
int *p = (arr + 1);
cout << arr;
return 0;
}
a) 4
b) 5
c) address of arr
d) 7
View Answer
Explanation: As we counted to print only arr, it will print the address of the array.
Output:
$ g++ point2.cpp $ a.out 0xbfb1cff
7. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main ()
{
int numbers[5];
int * p;
p = numbers; *p = 10;
p++; *p = 20;
p = &numbers[2]; *p = 30;
p = numbers + 3; *p = 40;
p = numbers; *(p + 4) = 50;
for (int n = 0; n < 5; n++)
cout << numbers[n] << ",";
return 0;
}
a) 10,20,30,40,50,
b) 1020304050
c) compile error
d) runtime error
View Answer
Explanation: In this program, we are just assigning a value to the array and printing it and immediately dereferencing it.
Output:
$ g++ point4.cpp $ a.out 10,20,30,40,50,
8. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main()
{
int arr[] = {4, 5, 6, 7};
int *p = (arr + 1);
cout << *arr + 9;
return 0;
}
a) 12
b) 5
c) 13
d) error
View Answer
Explanation: In this program, we are adding the value 9 to the initial value of the array, So it’s printing as 13.
Output:
$ g++ point5.cpp $ a.out 13
Sanfoundry Global Education & Learning Series – C++ Programming Language.
To practice all areas of C++ language, here is complete set of 1000+ Multiple Choice Questions and Answers.
If you find a mistake in question / option / answer, kindly take a screenshot and email to [email protected]
- Check Computer Science Books
- Check C++ Books
- Practice Programming MCQs
- Apply for Computer Science Internship
- Check Programming Books