程序如下:
int a;
int *p;
p=&a;
(提示a只声明,没有初始化,帮忙看看,说说依据)
1、
可是a没有赋初值,a在内存中的地址是不确定的。给我赋给指针p的话,会很危险的。我分析的对吗
2、
我不清楚内存是如何给变量分配内存单元的,声明了就分配内存单元,还是做了初始化才分配内存单元。
我不清楚内存是如何给变量分配内存单元的,声明了就分配内存单元,还是做了初始化才分配内存单元。
追答定义就分配,局部域(像函数里),分配在栈空间。全局变量分配在数据段中。所以你不用担心地址问题,要注意的就是指针使用问题,有很多memory leak的问题需要注意。
追问memory leak是什么意思了
本回答被提问者和网友采纳可是a没有赋初值,a在内存中的地址是不确定的。给我赋给指针p的话,会很危险的。
追答有没有前提条件???如果是在一个固定的程式里面,a=0,如果是数组,完全可以。。
追问没有前提条件
追答这是不是第一句??
追问是第一句话