What is the difference between null pointer and void pointer
Answers were Sorted based on User's Feedback
Answer / vignesh1988i
NULL POINTER :
the pointer which dosent point to any memory location is
called NULL POINTER.
VOID POINTER :
the pointer is a one which can only point to a particular
memory location of it's own type.... but when the pointer
is given void it can be mde to point any location of
different type
| Is This Answer Correct ? | 134 Yes | 13 No |
Answer / abi
Yes there are differences between a null pointer and a void
pointer. As you know that a pointer holds the memory address
of any variable . So we can say for a null pointer that :
- A null pointer can be of any primitive type(e.g - int *
,char * etc)
-However a null pointer does not point to any memory
location , i.e. it does not contain a reference of any
variable/value. Hence we may state that it has a NULL as its
value making it a null pointer.
Where as in case of a void pointer we can say :
- void pointer is always of type void *
- Mainly such pointers are used for dynamic memory
allocations (using malloc(), calloc() and realloc()
functions) , where memory block reserved is pointer to by a
void pointer and as the pointer value is returned it has to
be explicitly type casted to a particular desired type.
for e.g
int * ptr;
ptr=(int *) malloc(sizeof(int));
[ Here malloc () returns a pointer of void * type(i.e a void
pointer) which is type casted to int * as per our requirement ]
| Is This Answer Correct ? | 15 Yes | 1 No |
Answer / govind
a void pointer is a special type of pointer of void and
denotes that it can point to any type of data type .NULL
pointer can take any pointer type , but do not point to any
valid reference or memory adderss.it is important to note
that a NULL pointer is different from a pointer that is
initialized.
| Is This Answer Correct ? | 19 Yes | 8 No |
Answer / lakhpat
A Void pointer is a special type of pointer of void and
denotes that it can point to any data type. NULL pointers
can take any pointer type, but do not point to any valid
reference or memory address. It is important to note that a
NULL pointer is different from a pointer that is not
initialized.
| Is This Answer Correct ? | 12 Yes | 1 No |
Answer / xlnx
NULL POINTER WILL POINT TO NOTHING.BUT VOID POINTER POINTNG
TO ANY OTHER DATA TYPE OF POINTER.
| Is This Answer Correct ? | 14 Yes | 4 No |
Answer / siva prasad
A null pointer is a value. It is a special reserved value used to indicate that the pointer is not pointing to anything conceptually.
A void pointer is a type of pointer, void* . It is used to indicate that the storage location pointed to by the pointer has no specific type.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / nagarala sai deepak reddy
NULL POINTER :
the pointer which dosent point to any memory location is
called NULL POINTER.
VOID POINTER :
the pointer is a one which can only point to a particular
memory location of it's own type.... but when the pointer
is given void it can be mde to point any location of
different type
| Is This Answer Correct ? | 0 Yes | 0 No |
Null pointers returns null value and void pointer returns no
value
| Is This Answer Correct ? | 38 Yes | 39 No |
Answer / ksm st
null pointer doesn't points the any memory location but void pointer points the memory location of different type.
void pointer returns no value but null pointer returns the null value.
| Is This Answer Correct ? | 1 Yes | 4 No |
What is volatile
#include<stdio.h> #include<conio.h> int main() { int a[4][4]={{5,7,5,9}, {4,6,3,1}, {2,9,0,6}}; int *p; int (*q)[4]; p=(int*)a; q=a; printf("\n%u%u",p,q); p++; q++; printf("\n%u%u",p,q); getch(); return 0; } what is the meaning of this program?
write a c program to calculate the income tax of the employees in an organization where the conditions are given as. (I.T. = 0 if income <100000 I.T = 10% if income _< 200000 it = 20% if income >_ 200000)
7 Answers Consultancy, DBU, FD, JK Associates, Kobe, Satyam,
Implement bit Array in C.
print pattern 1 1 33 33 555 555 77777777 555 555 33 33 1 1
write a program to print largest number of each row of a 2D array
#define f(g,h) g##h main O int i=0 int var=100 ; print f ("%d"f(var,10));} what would be the output?
While(1) { } when this loop get terminate is it a infinite loop?
How does the assert() function work?
Can we access RAM? How? Whats the range of access? Similarly What are other hardware we can access?
In header files whether functions are declared or defined?
Is stack a keyword in c?