I am getting a different memory location in my C program every time I run the exact same statement. Shouldn't this never change? And yes it still happens if I change &p to &x. I realize those two should be different but this happens when I repeatedly run (NOT COMPILE) the program to view it's memory address.
#include <stdio.h>
#include <string.h>
int main()
{
int x = 30;
int* p;
p = &x;
printf("%p \n", &p);
}