General Questions

Question 1 :

What is (void*)0?

A). Representation of NULL pointer
B). Representation of void pointer
C). Error
D). None of above
Answer : Option A

Question 2 :

Can you combine the following two statements into one?

char *p;
p = (char*) malloc(100);

A). char p = *malloc(100);
B). char *p = (char) malloc(100);
C). char *p = (char*)malloc(100);
D). char *p = (char *)(malloc*)(100);
Answer : Option C

Question 3 :

In which header file is the NULL macro defined?

A). stdio.h
B). stddef.h
C). stdio.h and stddef.h
D). math.h
Answer : Option C

Explanation :

The macro "NULL" is defined in locale.h, stddef.h, stdio.h, stdlib.h, string.h, time.h, and wchar.h.

Question 4 :

How many bytes are occupied by near, far and huge pointers (DOS)?

A). near=2 far=4 huge=4
B). near=4 far=8 huge=8
C). near=2 far=4 huge=8
D). near=4 far=4 huge=8
Answer : Option A

Explanation :

near=2, far=4 and huge=4 pointers exist only under DOS. Under windows and Linux every pointers is 4 bytes long.

Question 5 :

If a variable is a pointer to a structure, then which of the following operator is used to access data members of the structure through the pointer variable?

A). .
B). &
C). *
D). ->
Answer : Option D

Question 6 :

What would be the equivalent pointer expression for referring the array element a[i][j][k][l]

A). ((((a+i)+j)+k)+l)
B). *(*(*(*(a+i)+j)+k)+l)
C). (((a+i)+j)+k+l)
D). ((a+i)+j+k+l)
Answer : Option B

Question 7 :

A pointer is

A). A keyword used to create variables
B). A variable that stores address of an instruction
C). A variable that stores address of other variable
D). All of the above
Answer : Option C

Question 8 :

The operator used to get value at address stored in a pointer variable is

A). *
B). &
C). &&
D). ||
Answer : Option A