C Programming - Pointers
Exercise : Pointers - Yes / No Questions
1.
Is there any difference between the following two statements?
char *p=0;
char *t=NULL;
char *p=0;
char *t=NULL;
Answer: Option
Explanation:
NULL is #defined as 0 in the 'stdio.h' file. Thus, both p and t are NULL pointers.
2.
Is this a correct way for NULL pointer assignment?
int i=0;
char *q=(char*)i;
int i=0;
char *q=(char*)i;
Answer: Option
Explanation:
The correct way is char *q=0 (or) char *q=(char*)0
3.
Is the NULL pointer same as an uninitialised pointer?
4.
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;
}
Answer: Option
Explanation:
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.
5.
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;
}
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers