|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ C语言定义一个变量,系统会在栈区开辟一块空间
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2527
人关注过本帖
标题:
C语言定义一个变量,系统会在栈区开辟一块空间
只看楼主
加入收藏
zengfanlong
来 自:江西鹰潭
等 级:
新手上路
威 望:
1
帖 子:13
专家分:5
注 册:2009-10-1
结帖率:
20%
楼主
收藏
已结贴
√
问题点数:10 回复次数:19
C语言定义一个变量,系统会在栈区开辟一块空间
请求高手帮忙,我要如何能在C语言中实现Java中的new功能,使用malloc如何使用,请高手帮个忙吧,最好可以举个实例让我看看,几行的语句让我看明白。就是为了申请开辟一个空间。
搜索更多相关主题的帖子:
C语言
变量
定义
空间
系统
2010-08-24 09:48
举报帖子
使用道具
赠送鲜花
御坂美琴
来 自:魔術の禁書目錄
等 级:
小飞侠
威 望:
9
帖 子:952
专家分:2929
注 册:2010-8-18
第
2
楼
收藏
得分:1
你会Java?干嘛不直接用C++?C++也可以new,御坂回答着
永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-24 10:04
举报帖子
使用道具
赠送鲜花
qingmeisu200
等 级:
业余侠客
帖 子:113
专家分:215
注 册:2010-3-16
第
3
楼
收藏
得分:1
写个自定义函数 new。
我能!
2010-08-24 10:05
举报帖子
使用道具
赠送鲜花
waterstar
等 级:
小飞侠
威 望:
5
帖 子:984
专家分:2810
注 册:2010-2-12
第
4
楼
收藏
得分:1
原型是:
void *malloc(sizt_t size);
举例来说:假如有一个结构体LinkStack
LinkStack *pt;
pt=(LinkStack *)malloc(sizeof(LinkStack));
//为指针变量分配内存空间,
冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2010-08-24 10:23
举报帖子
使用道具
赠送鲜花
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
5
楼
收藏
得分:1
c 语言也可以 new, blueguy 说道.
void* new(int size)
{
return malloc(size);
}
我就是真命天子,顺我者生,逆我者死!
2010-08-24 10:23
举报帖子
使用道具
赠送鲜花
heartnheart
等 级:
蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
第
6
楼
收藏
得分:1
楼上~~
2010-08-24 18:24
举报帖子
使用道具
赠送鲜花
mwebc
等 级:
论坛游民
帖 子:9
专家分:13
注 册:2010-7-21
第
7
楼
收藏
得分:1
double * ta;
ta=(double *)malloc(30*sizeof(double));
这段代码请求30个double类型值的空间
返回一个double类型的指针
如果malloc找不到空间就返回空指针
ta是一个指向double类型的指针而不是一个指向30个double类型的数据块
[
本帖最后由 mwebc 于 2010-8-24 21:11 编辑
]
2010-08-24 21:09
举报帖子
使用道具
赠送鲜花
zengfanlong
来 自:江西鹰潭
等 级:
新手上路
威 望:
1
帖 子:13
专家分:5
注 册:2009-10-1
第
8
楼
收藏
得分:0
回复 4楼 waterstar
你说malloc 按道理也是关键字啊 我电脑里面 malloc都不会变蓝色
2010-08-25 12:45
举报帖子
使用道具
赠送鲜花
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
9
楼
收藏
得分:0
void* new(int size)
{
return malloc(size);
}
在这个代码的基础上,再添加两行代码, 就可以确定 堆区内存不足 的问题。
void* New(int size)
{
void* p;
bgWriteLog("1");
p = malloc(size);
bgWriteLog("2");
return p;
}
1212121这样的序列说明堆区内存不足,
应该是这样的吧,
[
本帖最后由 BlueGuy 于 2010-8-26 15:05 编辑
]
我就是真命天子,顺我者生,逆我者死!
2010-08-26 14:07
举报帖子
使用道具
赠送鲜花
sunyh1999
等 级:
版主
威 望:
14
帖 子:1178
专家分:3032
注 册:2009-5-17
第
10
楼
收藏
得分:1
malloc calloc new都可以
欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-08-26 15:16
举报帖子
使用道具
赠送鲜花
20
1/2页
1
2
快速回复:
C语言定义一个变量,系统会在栈区开辟一块空间
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024839 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved