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只是负责分配了一块内存空间,至于这块内存空间是否被清干净了 是不确定的