读书人

关于memset,该怎么处理

发布时间: 2012-02-25 10:01:49 作者: rapoo

关于memset
#include "stdafx.h "
#include <memory.h>
#include <stdio.h>

int *p;

int _tmain(int argc, _TCHAR* argv[])
{

memset(p,0,sizeof(int)); 此行出错
return 0;
}

编译能通过,但运行时报告“该程序遇到问题需要关闭,我们对此引起的不便表示抱歉。”

问题在哪里?

[解决办法]
#include "stdafx.h "
#include <memory.h>
#include <stdio.h>

int p;

int _tmain(int argc, _TCHAR* argv[])
{

memset(&p,0,sizeof(int)); 此行出错
return 0;
}

原来当然会错p没有分配内容是野指针~
[解决办法]
你的p是一个全局变量,它指向哪里?全局变量如果不显式的初始化,是被初始化为0的,那么它就什么也不指。那memset去初始化哪个位置的内存呢?

读书人网 >C语言

热点推荐