The computation p[i] reaches the value that starts at address of p + i * sizeof(int) and is sizeof(int) bytes long. Since sizeof(int) != sizeof(double), those values are just memory blocks consisting of some of the bytes of floating-point data. They are meaningless when considered as integers.