搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 指针内存的分配问题
标题:
指针内存的分配问题
取消只看楼主
乔峰不会
等 级:
新手上路
帖 子:11
专家分:7
注 册:2009-10-21
结帖率:
50%
楼主
已结贴
√
问题点数:10 回复次数:1
指针内存的分配问题
我想问一下
int *p; //此时系统已经为p分配了四个字节的内存空间,因为它是一个int *型的变量,但是它保存的是一个地址呀,那么此时系统有没有给它分配一段地址让 p 这个int *型变量来保存啊?
如果有,那么这段地址是固定的吗,是什么?当我在继续写
p = new int ;时,我感觉系统一定为p 分配了一段地址让它保存,那么先前所分配的地址(如果有的话)系统怎么处理了?
搜索更多相关主题的帖子:
分配问题
内存
指针
2009-10-23 10:24
乔峰不会
等 级:
新手上路
帖 子:11
专家分:7
注 册:2009-10-21
第
2
楼
得分:0
回复 2楼 debroa723
2 楼,我采用了你的方法,
double *p;
cout<<p<<endl;
cout<<&p<<endl;
cout<<*p<<endl;//如果有此句,就不能输出任何东西。
编译和执行时都没错,但是就是不能执行cout<<*p;如果删掉此句就能执行了。
是不是在double *p ;后,系统已经为p分配了8个字节(double类型)的空间让p指向,但是此时这个内存地址上没有任何东西,所以不能read呀??
如果我执行下面语句时,
p= new double;
cout<<p<<endl<<*p<<endl<<&p<<endl;
就能执行了,此时是不是系统已经为*p随机分配了一个数呀??
2009-10-24 13:21
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-289578-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.060512 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved