| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5631 人关注过本帖, 5 人收藏
标题:内存分配详解(对内存有疑惑的进来看看)
只看楼主 加入收藏
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
快速回复:内存分配详解(对内存有疑惑的进来看看)
数据加载中...
 
   



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

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