Exercise: Pointers

Questions for: Pointers

Will the following program give any warning on compilation in TurboC (under DOS)?
#include<stdio.h>

int main()
{
    int *p1, i=25;
    void *p2;
    p1=&i;
    p2=&i;
    p1=p2;
    p2=p1;
    return 0;
}
A:
Yes
B:
No
C:
D:
Answer: B
No answer description is available. Let's discuss.
Will the program compile in Turbo C?
#include<stdio.h>
int main()
{
    int a=10, *j;
    void *k;
    j=k=&a;
    j++;
    k++;
    printf("%u %u\n", j, k);
    return 0;
}
A:
Yes
B:
No
C:
D:
Answer: B

Error in statement k++. We cannot perform arithmetic on void pointers.

The following error will be displayed while compiling above program in TurboC.

Compiling PROGRAM.C:
Error PROGRAM.C 8: Size of the type is unknown or zero.

Is the NULL pointer same as an uninitialised pointer?
A:
Yes
B:
No
C:
D:
Answer: B
No answer description is available. Let's discuss.
Is this a correct way for NULL pointer assignment?
int i=0;
char *q=(char*)i;
A:
Yes
B:
No
C:
D:
Answer: B
The correct way is char *q=0 (or) char *q=(char*)0
Is there any difference between the following two statements?
char *p=0;
char *t=NULL;
A:
Yes
B:
No
C:
D:
Answer: B
NULL is #defined as 0 in the 'stdio.h' file. Thus, both p and t are NULL pointers.
Ad Slot (Above Pagination)
Quiz