====== Introduction ======
/* Reference */
#include
int main()
{
int a = 5;
printf("The value of a is: %d\n", a);
printf("The address of a is: %p\n", &a);
return 0;
}
/* Pointer */
#include
int main()
{
int a;
int *p;
a = 5;
p = &a;
printf("The value of a is: %d\n", a);
printf("The address of a is: %p\n", &a);
printf("The address of a is: %p\n", p);
return 0;
}
/* Dereference */
#include
int main()
{
int a;
int *p;
a = 5;
p = &a;
printf("The value of a is: %d\n", a);
printf("The value of a is: %d\n", *p);
printf("The address of a is: %p\n", &a);
printf("The address of a is: %p\n", p);
*p = 10;
printf("New value of a is: %d\n", a);
printf("New value of a is: %d\n", *p);
printf("The address of a is: %p\n", &a);
printf("The address of a is: %p\n", p);
return 0;
}
/* Uninitialize */
#include
int main()
{
int *p;
int n = *p;
printf("Uninitialized value of n is: %d\n", n);
printf("Uninitialized value of p is: %p\n", p);
return 0;
}