标题:内存分配详解(对内存有疑惑的进来看看)
只看楼主
iamthinking1
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2010-8-8
得分:0 
不懂啊!!!
2010-08-09 14:46
stranger55
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2011-4-23
得分:0 
谢谢楼主
但是请问下楼主一个问题
#include<iostream>
using namespace std;
char*  f1()
{
   char* p = NULL;
   char a;
   p = &a;
   return p;
}
int main()
{
  char* p ;
  p = f1();
  *p = 'a';
  return 0;
}
我编译 运行了一下  没有看见到底出现了神马异常错误阿 ?
2011-04-24 10:52
myseemylife
Rank: 2
等 级:论坛游民
帖 子:100
专家分:58
注 册:2009-3-22
得分:0 
以下是引用最近不在在2010-6-6 01:15:05的发言:

// Note:Your choice is C++ IDE
#include  
using namespace std;
int main()
{
    char *p = new char[4];
    //错误拷贝情况
    //char *pTemp = p;
    //delete [] pTemp; 二者等效 指向同一堆内存
    //delete [] p; 一删皆没
   
    //正确的做法
    //char *pTemp = new char[4];
    //for(...)
    //{
    //    *(pTemp+i) =*(p+i);
    //}
    //delete [] p;
    return 0;
}
    for (int i = 0; i < 4; i++)
    {
        p[i] = (char)(i + 1);
    }
   
    p[i] = '0';
我加上这个给字符数组初始化一下,然后delete出错误。。。。。。。不是很理解。为什么不初始化就不会报错呢?

唔紸縡唔自己の鉎銘.................
2011-04-24 21:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-309082-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.410967 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved