Generally, NULL is considered to be a error condition. Like thepointer is not pointing anywhere.

To declare NULL pointer use,

int * intPtr = (int *) NULL; /* NULL is defined as 0 */

Dereferncing NULL pointer may cause illegal operation...I am not sure

sumit

Please do not top post. I actually thought that Jun's post was a
correct answer. Your post has some odd constructions. For example,
you do not need to cast NULL explicitly.

NULL is a macro defined in stddef.h. to be the null pointer constant.
A null pointer constant is an integer constant expression with the
value 0 or such an expression casted to void*. A null pointer
constant converted to a pointer type is called a null pointer.

#include <stddef.h>

int* ip = NULL;
*ip; // undefined behavior

would be sufficient. The problem with derefencing a null pointer is
that it invokes undefined behavior. It is impossible to know how any
particular implementation will handle it.

If the pointer is not initialised expicitly, does'nt it get
initialised to NULL by default.I have written the following program
which shows that by default any pointer will be intialised to
NULL.Have a look at the program.

What exactly is a NULL Pointer Dereference? I tried searching google but the only results that returned were bug reports.
No wonder - dereferencing a NULL po9inter *is* usually a bug. If you try to
READ the stuff to which the null pointer points then you may get away with
garbage values, but protected mode OSes will stop the program ('segfault').
If you WRITE to it, then either the OS catches the attempt, or you have
good chances of locking up the machine.
Some example code, if possible, would also be appreciated.

If the pointer is not initialised expicitly, does'nt it get initialised to NULL by default.
NO. The only time this will happen without an explicit initializer is
when it is statically allocated.
I have written the following program which shows that by default any pointer will be intialised to NULL.Have a look at the program.

I know that NULL is defined as 0. But there are chances that compiler
may generate warnings (invalid pointer assignments) when you do this
--

int * iPtr = NULL; /* maybe illegal */

So to be on SAFE side, I had typecasted it to int *, so to avoid
any compiler warnings...if it is INTELLIGENT.

So you are just complementing my answer abt de referencing NULL
pointer :):)

Please do not top post. I actually thought that Jun's post was a correct answer. Your post has some odd constructions. For example, you do not need to cast NULL explicitly.

NULL is a macro defined in stddef.h. to be the null pointer constant. A null pointer constant is an integer constant expression with the value 0 or such an expression casted to void*. A null pointer constant converted to a pointer type is called a null pointer.

#include <stddef.h>

int* ip = NULL; *ip; // undefined behavior

would be sufficient. The problem with derefencing a null pointer is that it invokes undefined behavior. It is impossible to know how any particular implementation will handle it.

I know that NULL is defined as 0.
It may also be defined as ((void *) 0) or other variations as
well.
But there are chances that compiler may generate warnings (invalid pointer assignments) when you do this --

int * iPtr = NULL; /* maybe illegal */
That's not ever illegal (and not invalid unless you failed to
define NULL by including an appropriate header). It is perfectly
fine as specified by the language definition.
So to be on SAFE side, I had typecasted it to int *, so to avoid any compiler warnings...if it is INTELLIGENT.

I'd be very surprised to have a compiler complain about the
above, but compilers are allowed to warn about anything.
--
"To get the best out of this book, I strongly recommend that you read it."
--Richard Heathfield

Hi,
please don't top post. Your response should go BELOW the text it
relates to.
I know that NULL is defined as 0. But there are chances that compilermay generate warnings (invalid pointer assignments) when you do this--
don't put two dashes and a space in the middle of your post. That
separates a sig from the body, and causes all good newsreaders to snip
all the text below. I had to force Agent to include it.
int * iPtr = NULL; /* maybe illegal */
thats never illegal in declaration.
So to be on SAFE side, I had typecasted it to int *,