I was just trying to use a void pointer to an integer array ,I tried to see if i can print the array back by casting it back into int. But it is giving me some random value.
You are doing pointer arithmetic on void *
which is not valid in C.
In GNU C (C with gcc extensions), it is actually permitted and the sizeof (void)
is considered to be 1.
http://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html
"addition and subtraction operations are supported on pointers to void and on pointers to functions. This is done by treating the size of a void or of a function as 1."