标题:诸神请看:第二次调用malloc给结构指针分配空间时出错 0xC0000374: 堆已损坏 ...
只看楼主
zwdbxlt
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-1-1
得分:0 
回复 10楼 TonyDeng
谢谢您回复我的帖子,谢谢您的时间,正是您的回复,才使我不断地提高。
2015-02-21 12:09
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
得分:10 
兄台知道问题何在吗?
可否以一段简短代码展示出问题?


莫问前尘有愧,但求今生无悔
2015-02-22 10:27
zwdbxlt
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-1-1
得分:0 
回复 12楼 pycansi
问题我还没找到,我用其他方式代替了,我写了一个包含这个错误的很简单的程序,你可以试着找找原因,找到了请告诉我一声,非常感谢。
#include<stdio.h>
#include <ctype.h>
#define MAXLEN 1000
#include <string.h>
#include <stdlib.h>

struct node {
    int biaozhi;
    char *p;
    struct node *zuo;
    struct node *you;
};
int shuzhuangfuzhi(struct node *, char *word);
int main()
{
    struct node *p = NULL;
    int  c = 0,i=0;
    char word[MAXLEN];
    char *fuzhi[MAXLEN] = {"hello","man",NULL};
    while (fuzhi[i]!=NULL)
    {
    p = shuzhuangfuzhi(p, fuzhi[i++]);
    }

    system("pause");
}


struct node *talloc(void);
char *strup(char *);

int shuzhuangfuzhi(struct node *p, char *word)
{
    int a;
    if (p == NULL)
    {

        p = talloc();
        p->biaozhi = 0;
        p->p = strup(word);
        p->zuo = NULL;
        p->you = NULL;
    }
    else
        shuzhuangfuzhi(p->zuo, word);
    return p;
}

struct node *talloc(void)
{
    return (struct node *) malloc(sizeof(struct node));
}


char *strup(char *s)
{
    char *p;
    p = (char *)malloc(strlen(s) + 1);
    if (p != NULL)
        strcpy_s(p, 50, s);
    return p;
}
2015-02-22 23:25
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
得分:0 
我在Pelles C中运行这段代码(加了两处强制类型转换),没有报错e..


莫问前尘有愧,但求今生无悔
2015-02-23 20:45



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




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

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