MCQ - Pointers in C++ Programming
21. The pointer can point to any variable that is not declared with which of these?
A. Const
B. Volatile
C. Both A & B
D. Static
View Answer
Ans : C
Explanation: None
22. Which operator returns the address of unallocated blocks in memory?
A. The delete operator
B. The empty operator
C. The new operator
D. All of them
View Answer
Ans : C
Explanation: None.
23. Which of the following is illegal?
A. int *ip;
B. string s, *sp = 0;
C. int i; double* dp = &i
D. int *pi = 0;
View Answer
Ans : C
Explanation: dp is initialized int value of i.
24. Which one of the following is not a possible state for a pointer?
A. Hold the address of the specific object
B. Point one past the end of an object
C. Zero
D. Point to a type
View Answer
Ans : D
Explanation: A pointer can be in only 3 states a,b and c.
25. A pointer contains __________.
A. Address of a variable
B. Name of the variable
C. Value of the variable
D. None of the above
View Answer
Ans : A
Explanation: None
26. Which of the following are not a member dereferencing operators in CPP? 1. *
2. ::
3. ->*
4. ::*
5. ->
A. Only 1, 2, 4
B. Only 1 and 5
C. Only 2 and 5
D. Only 3,4,5
View Answer
Ans : C
Explanation: None
27. What is meaning of 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 array.
D. p is pointer to array of function.
View Answer
Ans : B
Explanation: In the above declaration the variable p is array not pointer.
28. What will happen in this code?
int a = 100, b = 200;
int *p = &a, *q = &b
p = q;
A. b is assigned to a
B. p now points to b
C. a is assigned to b
D. q now points to a
View Answer
Ans : B
Explanation: Assigning to refrence changes the object to which the refrence is bound
29. Choose the right option
string* x, y;
A. x is a pointer to a string, y is a string
B. y is a pointer to a string, x is a string
C. Both x and y are pointer to string types
D. None of the above
View Answer
Ans : A
Explanation: * is to be grouped with the variables not the data types.
30. Which is true for b, if b is defined as "int *b[10];"?
A. The definition only allocates 10 pointers and does not initialize them
B. Initialization must be done explicitly
C. The definition only allocates 10 pointers and does not initialize them & Initialization must be done explicitly
D. Error
View Answer
Ans : C
Explanation: None
Also check :
Discussion