首页
社区
课程
招聘
[求助]一个关于c语言内存的问题
发表于: 2014-5-18 15:45 3541

[求助]一个关于c语言内存的问题

2014-5-18 15:45
3541
typedef struct Node
{
int value;
struct Node *next;
}Node;
int main()
{
Node *head;
printf("%d\n",head);
head=(Node*)malloc(sizeof(Node));
printf("%d\n",head);
if(NULL==head)
printf("分配内存失败!");
}
//根本不会判断成功啊?
//内存分配失败后head的真的是NULL吗?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
先初始化head为null然后再malloc试试
2014-5-18 15:46
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没问题啊,malloc分配内存失败会返回NULL
2014-5-18 16:15
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
正常情况下也不会失败
2014-5-18 16:20
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
刚刚明白了!void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 原来失败了还返回NULL呢!
2014-5-18 16:29
0
雪    币: 102
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
要试验失败后是否返回NULL,可以反复大量申请内存,到达一定量的之后申请就会失败.
2014-5-18 16:46
0
雪    币: 5147
活跃值: (3367)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
搞链表么?
2014-5-18 17:11
0
雪    币: 438
活跃值: (93)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
就是这样。可以试试啊。多申请点儿就会失败了。血一般的记忆。
2014-5-18 17:12
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
你可以一次申请8G内存 一般不会成功
2014-5-19 10:04
0
游客
登录 | 注册 方可回帖
返回
//