宣言一个变量,有没有对它进行内存空间分配和初始化
声明一个变量,有没有对它进行内存空间分配和初始化?声明一个变量,有没有对它进行内存空间分配和初始化?比
声明一个变量,有没有对它进行内存空间分配和初始化?
声明一个变量,有没有对它进行内存空间分配和初始化?
比如int a;
char* p=&a;
这里a有没被分配空间?
即使分配了空间,那么指针p这样定义可以吗?
[解决办法]
1.分配空间了,这句就分配了int a;但是没初始化,需要自己来做,比如:int a=0;
2、这样用指针是可以的
[解决办法]
分配了,但是其值是不确定的;p就是指向a的
[解决办法]
[解决办法]下个断点,开任务管理器,看看执行下一步的时候内存有没有增加,有的话就分配了,没的话就没分配
[解决办法][解决办法]4楼正解,但是要针对楼主所说为局部变量时:编译的时候是不会分配内存的,只有到运行用的时候才会分配
未初始化全局会在主函数开始前进行清零初始工作。也是发生在运行时!
[解决办法]在<<c traps and pitfalls>>中写得很清楚...第四章:声明和定义..
声明语句:int a;//这个语句说明a是一个整形变量,同时为a分配了存储空间;
声明语句:int a = 7;//在定义a的同时也为a明确指定了初始值.不仅为a分配了内存,也说明了在该内存中应该存储的值...
[解决办法]当然有分配空间了
就像一个空的杯子一样
初始化是往杯子里装东西,比如装水,或者酒,或者醋