Loading...

C++ Multiple Choice Questions

Our C++ questions and answers focuses on all areas of C++ programming language covering 100+ topics in C++

C++ Pointers MCQ | Set 1

C++ Pointers | Set 1


1. What does the following statement mean?
int (*fp) (char*);

a) pointer to a pointer
b) pointer to an array of chars
c) pointer to function taking a char* argument and returns an int
d) function taking a char* argument and returning a pointer to int



2. The operator used for dereferencing or indirection is ____

a) *
b) &
c) ->
d) –>>



3. 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 pointers to string types
d) y is a pointer to a string



4. 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



5. Which of the following is illegal?

a) int *ip;
b) string s, *sp = 0;
c) int i; double* dp = &i;
d) int *pi = 0;



6. What will happen in the following C++ code snippet?
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



7. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {

    int a = 5, b = 10, c = 15;
    int *arr[] = {&a, &b, &c};
    cout << arr[1];
    
    return 0;
}

a) 5
b) 10
c) 15
d) it will return some random number



8. The correct statement for a function that takes pointer to a float, a pointer to a pointer to a char and returns a pointer to a pointer to a integer is ____________

a) int **fun(float**, char**)
b) int *fun(float*, char*)
c) int **fun(float*, char**)
d) int ***fun(*float, **char)



9. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {

    char arr[20];
    int i;
    for (i = 0; i < 10; i++)
            *(arr + i) = 65 + i;
        *(arr + i) = '\0';
    cout << arr;
    
    return 0;
}

a) ABCDEFGHIJ
b) AAAAAAAAAA
c) JJJJJJJJ
d) AAAAAAJJJJ



10. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {

    char *ptr;
    char str[] = 'abcdefg';
    ptr = str;
    ptr += 5;
    cout << ptr;

    return 0;
}

a) fg
b) cdef
c) defg
d) abcd



- Related Topics