| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1604 人关注过本帖
标题:内存问题!
只看楼主 加入收藏
peng_piao
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-11-5
收藏
得分:0 
this is a atring 应该在数据区的,
因为它是个字符串常量,
2008-12-02 21:07
peng_piao
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-11-5
收藏
得分:0 
可以使用 strcpy(p, "this is a string");赋值后就可以被free掉 了


因为这么做是将数据区的字符串拷贝到被malloc分配的堆区内存中
2008-12-02 21:08
raodapeng
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-22
收藏
得分:0 
谢谢10楼
2008-12-04 18:10
raodapeng
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-22
收藏
得分:0 
回复 第10楼 forever74 的帖子
那return 0和return 1有什么含义啊
2008-12-04 20:30
dubukuangye
Rank: 1
等 级:新手上路
威 望:2
帖 子:155
专家分:3
注 册:2008-11-11
收藏
得分:0 
回复 第12楼 peng_piao 的帖子
p是什么?
LZ的帖子里好像没有这个吧?

与其离开她为了过的更好,不如抓住她,自己努力让她过的更好
2008-12-04 20:36
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:0 
以下是引用raodapeng在2008-12-4 20:30的发言:

那return 0和return 1有什么含义啊

就向操作系统汇报而言,它和exit作用相同。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-12-05 01:34
yu8697593
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-21
收藏
得分:0 
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
int main()
{
    char *s1;
    if((s1=(char *)malloc(40)) == NULL)
    {
        printf("out of memory!\n");
        exit(1);
    }
    strcpy(s1,"this is string");
    printf("%s\n",s1);
    free(s1);

    return 0;

}
2008-12-05 14:02
yu8697593
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-21
收藏
得分:0 
这样就对了 问题2楼的已经说出来了,我给你改了一下就可以了
2008-12-05 14:03
yu8697593
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-21
收藏
得分:0 
不好意思 没有看到十楼的
已经把问题解决了 哎~~~~
2008-12-05 14:04
yu8697593
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-21
收藏
得分:0 
不好意思 没有看到十楼的
已经把问题解决了 哎~~~~
2008-12-05 14:37
快速回复:内存问题!
数据加载中...
 
   



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

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