#include
#include
int main(void)
{
int *p;
printf("%p %i\n",p, *p);
int *p2 = malloc(sizeof(*p2));
printf("%p %i\n",p2, *p2);
int *p3 = NULL;
printf("%p \n",p3);
p3 = malloc(sizeof(*p3));
printf("%p %i\n",p3, *p3);
return 0;
}
The output is:
0x8048414 1474660693
0x8d3d008 0
(nil)
0x8d3d018 0
So, when you declare a pointer, it points to some garbage data.
When you malloc memory, the pointer points to some memory-allocated location.
When you assign NULL to a pointer, it becomes NULL Pointer and its address is NULL, and you need to reallocate memory for before use.
So,
No comments:
Post a Comment