| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 539 人关注过本帖
标题:关于分配内存的问题
只看楼主 加入收藏
wlesd
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-7-5
结帖率:80%
收藏
已结贴  问题点数:13 回复次数:6 
关于分配内存的问题
int a;
int *b;
有给a分配内存么
那b呢?
请大大跟我讲下有关内容!
搜索更多相关主题的帖子: 内存 
2012-02-25 21:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
分配給a一個int的內存,分配給b一個int*的內存。

授人以渔,不授人以鱼。
2012-02-25 21:04
wlesd
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-7-5
收藏
得分:0 
回复 2楼 TonyDeng
那为什么在弄链表的时候
已经定义了结构体指针,还要在用malloc给它开辟呢?
2012-02-25 21:05
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
收藏
得分:0 
a,b在编译过程中分配内存的。
2012-02-25 21:05
wlesd
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-7-5
收藏
得分:0 
回复 4楼 回首依依
那为什么在弄链表的时候
已经定义了结构体指针,还要在用malloc给它开辟呢?
2012-02-25 21:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:13 
指針只是一個指示器,它只具備指向作用,本身不是數據。你定義int *p,或者struct student *s,都只表示指針p或s指向一個應當儲存int或者struct student的數據體,至於那個被指向的數據體是否存在,指針是不知道的。由於你沒有構造這樣的數據實體,那麼p或s指針也只是指針而已,它還不知道指向誰,那個誰是要你自己定義才有的。

構造鏈表時,malloc()的過程,是從內存中申請一個對應的數據實體,比如(int *)p = (int *)malloc()是申請一塊指向int元素的內存塊,把這塊內存的地址賦予給指針p,並且,從此之後,p就承擔這塊內存的入口地址的作用(將來要free(p)釋放,因此這個指針最好不要移動,當作數組名使用是最安全的)。

授人以渔,不授人以鱼。
2012-02-25 21:12
wlesd
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-7-5
收藏
得分:0 
回复 6楼 TonyDeng
谢谢TonyDeng
2012-02-25 21:14
快速回复:关于分配内存的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.076704 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved