【C语言】【跪求】p = (int *) malloc (sizeof(int)); 和int *p 有什么区别

int*p;inta;p=&a;... int *p;
int a;
p=&a;
展开
 我来答
百度网友c9be37d
2011-04-04 · 超过28用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:86.8万
展开全部
int *p 只是定义了一个指向整型数据单元的指针
p = (int *) malloc (sizeof(int)) 定义的指针同时分配了该计算机一个整型单元大小的空间,由p指向
更多追问追答
追问
谢谢,没写全,请看下问题补充
追答
第一种方式你需要自己释放指针,系统不会自己释放
第二种就不必自己释放指针了
百度网友b79095f
2011-04-19
知道答主
回答量:10
采纳率:0%
帮助的人:1.7万
展开全部
使用malloc开辟的空间属于堆上
如p = (int *) malloc (sizeof(int)); p此时指向的是堆上的空间。
int *p;
int a;
p=&a;
此时p指向的是栈上的空间。

建议你去查一相堆和栈的区别。网上很多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式