读书人

malloc 有关问题

发布时间: 2012-05-16 11:12:12 作者: rapoo

malloc 问题
//程序所出问题大概如下,还望大侠相救

在开头定义了一个结构体如下:
struct node
{
char *str;
};

int get();

int main()
{
struct node *new_node = (struct node *)malloc(sizeof(struct node));

get();

return 0;
}

int get()
{
struct node *new_node = (struct node *)malloc(sizeof(struct node));
return 0;
}


/////////////////////////////////
跟踪调试后发现
在main函数内的new_node->str等于NULL;
但在get函数内的new_node->str竟然不等于NULL,这是什么原因????


诚望大侠赐教!!!!

[解决办法]
在main函数内和在get函数内都是分配的内存但是没有初始化,char *str;的内容是未知的
[解决办法]
你没有调用memset
malloc只是负责分配了一块内存空间,至于这块内存空间是否被清干净了 是不确定的

读书人网 >C语言

热点推荐