关于系统为变量分配内存空间的问题?
问题1:当我们定义一个普通变量时,系统是不是为其分配的空间是一个空闲的没有被正在使用的一块空间,或者说是被释放掉的空间?问题2:当我们定义一个指针变量时,系统为其分配的空间是空闲的还是被正在使用的,或者说是没有被释放掉的?如果是空闲的为什么还要有初始化,就像我们直接可以把一个整型变量i的值赋另一个整形变量j(int i,j i = 55;j = i;printf("%d", j)),然后输出j,但事实告诉我如果将一个整型变量的值赋给一个没有指向的指针p,然后输出*p时,程序会崩溃。我想崩溃的原因可能就是系统开始为其分配的空间有可能不是空闲的而是被其他程序使用的,所以如果没有指向而强制修改的话,程序就会崩溃。谁能告诉我我的想法是对还是错,如果错了,谁能告诉我原因?