大家看看这段代码的问题在哪? char *pCharSpace = new char;pCharSpace = "Test This!";delete pCharSpace; 这段代码编译没问题,但是执行的时候会挂。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 pCharSpace = "Test This!";要用*pCharSpace,而且你分配的内存也就一个字符,怎么存一大串呢?当然会挂 char *pCharSpace = new char;--------char *pCharSpace = new char[20]; 格式要规范..//--------------char *pCharSpace = new char[20];if( pCharSpace == NULL ){ ....;}...if( pCharSpcae ){ delete[]pCharSpace; pCharSpace = NULL;} #include <string.h>void main(){ char *pCharSpace = new char[100]; strcpy( pCharSpace, "Test This!" ); if( pCharSpace ) { delete[] pCharSpace; pCharSpace = NULL; }} 我找到问题答案了,,pCharSpace = "Test This!"; //字符串常量delete的时候肯定会挂啦 .... 我们都错了.呵呵.当初扫了一眼这个帖子.直接关了.现在回头看看还真是容易糊弄人.呵呵"pCharSpace = "Test This!";要用*pCharSpace,而且你分配的内存也就一个字符,怎么存一大串呢?当然会挂"这是1楼的话.现在回头看看代码.实际上"Test This"是常量,它不需要我们给它内存.就象 char * p; p="123";没一点问题.楼主的代码:char *pCharSpace = new char;pCharSpace = "Test This!";犯的错误应该是 "new char" 这个内存泄露..至于崩溃的真正原因 却真如楼主自己所说了..看指针的代码确实很容易被糊弄.. system("pause")无效! handVu库 多线程程序运行一段时间后出错,请高手指点,在线等待,急…… 请教:如何在纯DOS下控制光驱及U盘,可有这方面的技术文档,谢谢.(在BIOS支持的情况下) nt下如何得到file descriptor 最大值和已打开值,高人请进 高分求 MSDN2001 版里的两个文件:GDICPP.CHM、GDICPP.CHI !!! 如何获得View的hwnd?? NDIS6.0 如何拦截数据包 程序先读取配置文件,作为全局变量 问一个中软的笔试题 菜鸟问题:SQL语句怎样删除某个字段对应的另一个字段的内容? 为什么会这样?
要用*pCharSpace,而且你分配的内存也就一个字符,怎么存一大串呢?
当然会挂
char *pCharSpace = new char[20];
//--------------
char *pCharSpace = new char[20];if( pCharSpace == NULL )
{
....;
}.
.
.
if( pCharSpcae )
{
delete[]pCharSpace;
pCharSpace = NULL;
}
void main()
{
char *pCharSpace = new char[100];
strcpy( pCharSpace, "Test This!" );
if( pCharSpace )
{
delete[] pCharSpace;
pCharSpace = NULL;
}}
delete的时候肯定会挂啦
我们都错了.呵呵.当初扫了一眼这个帖子.直接关了.现在回头看看还真是容易糊弄人.呵呵"
pCharSpace = "Test This!";
要用*pCharSpace,而且你分配的内存也就一个字符,怎么存一大串呢?
当然会挂
"这是1楼的话.现在回头看看代码.实际上"Test This"是常量,它不需要我们给它内存.
就象 char * p; p="123";没一点问题.
楼主的代码:
char *pCharSpace = new char;
pCharSpace = "Test This!";犯的错误应该是 "new char" 这个内存泄露..
至于崩溃的真正原因 却真如楼主自己所说了.
.看指针的代码确实很容易被糊弄..