已结贴√

问题点数:15 回复次数:5

请教:调用malloc时出现Access violation writing location的错误怎么办??

#include"stdio.h"

#include"malloc.h"

#define ERROR 0

#define OK 0

#define    STACKINCREMENT 5

typedef int status;

typedef struct List

{

char *base;

int length;

int listsize;

}List;

typedef struct BiTree

{

BiTree *lchild;

BiTree *rchild;

char data;

}BiTree, *BiTreeP;

typedef struct stack

{

BiTreeP *base;

BiTreeP *top;

int stacksize;

}stack;

status InitList(List *l)

{

if(!(l = (List*)malloc(sizeof(List)))) return ERROR;

l->base = NULL;

l->length = 0;

l->listsize = 0;

}

status scandata(List *l,int n)

{

if(!(l->base = (char*)malloc(n*sizeof(char)))) return ERROR;//程序卡在这一行,给出的错误对话框是:"

char *p = l->base;                                          //Unhandled exception at 0x00f61497 in BiTree.exe: 0xC0000005:

while(p)                                                    //Access violation writing location 0x00000000."

{

scanf("%d",p);

p++;

}

}

status InitStack(stack *s,int n)

{

s->stacksize = n;

if(!(s->base = (BiTreeP*)malloc(sizeof(BiTreeP)))) return ERROR;

s->top = s->base;

}

int push(stack *s,BiTree *ch)

{

if(!(s->base + s->stacksize <= s->top))

{

BiTreeP *newbase;

if(!(newbase = (BiTreeP*)realloc(s,(s->stacksize + STACKINCREMENT)*sizeof(BiTreeP))))

return ERROR;

else

{

s->stacksize += STACKINCREMENT;

s->base = newbase;

s->top = s->base + s->stacksize;

}

}

*(s->top++) = ch;

return OK;

}

int StackEmpty(stack *s)

{

if(s->top = s->base) return 1;

else return 0;

}

status main()

{

BiTree *ps = NULL;

stack *s = NULL;

List *l = NULL;

char * pl = NULL;

int n;

InitList(l);

printf("How many data will be inputed ?\n");

scanf("%d",&n);

scandata(l,n);

InitStack(s,n);

if(!(ps = (BiTree*)malloc(sizeof(BiTree)))) return ERROR;

push(s,ps);

while(!StackEmpty(s))

{

while(*pl != '#')

{

if(!(ps->lchild = (BiTree*)malloc(sizeof(BiTree)))) return ERROR;

ps->data = *pl;

push(s,ps);

ps =ps->lchild;

pl++;

}

ps = ps->rchild;

pl++;

}

return OK;

}

搜索更多相关主题的帖子:

return

c语言错误writing,请教:调用malloc时出现Access violation writing location的错误怎么办??...相关推荐

  1. Unhandled exception 0xC0000005: Access violation writing location

    vs2010 出现文件无法写入的问题,下列代码中每当运行<< 时会出错,错误提示如题: Unhandled exception 0xC0000005: Access violation w ...

  2. OSError: exception: access violation writing,

    在使用python3.5_x64,ctype调用c++的.so文件时持续出现了OSError: exception: access violation writing 0x....... 的问题.定位 ...

  3. First-chance exception at 0x774CEB23 (ntdll.dll) in XXX.exe: 0xC0000005: Access violation writing

    语音对讲程序中在关闭对讲时总是报错"First-chance exception at 0x774CEB23 (ntdll.dll) in XXX.exe: 0xC0000005: Acce ...

  4. Unhandled exception at 0x00291422 in x.exe: 0xC0000005: Access violation writing location 0x37ACCE08

    源码如下: #include<stdio.h> #include<string.h> #include<stdlib.h> //malloc所在库#define M ...

  5. OSError: exception: access violation writing and reading

    OSError: exception: access violation writing 0x0000000000000000 原因:pFormatCtx 么有分配内存 //pFormatCtx = ...

  6. 关于瞎报Access violation writing location异常的瞎解决方法

    文章目录 @[toc] 问题描述 解决办法 问题描述 最近在用OpenCV解决一些CV问题.嗯,VS2017,各位看官不要笑,我也想用Linux,没办法,VS对于菜鸡来说是真的好用,虽然配环境确实蛋疼 ...

  7. osmnx OSError: exception: access violation writing 0x0000000000000001

    使用osmnx的一些功能函数时会报错osmnx OSError: exception: access violation writing 0x0000000000000001 根本原因是osmnx的版 ...

  8. MySQL错误:SQLSTATE[42000]: Syntax error or access violation

    MySQL错误:SQLSTATE[42000]: Syntax error or access violation: 问题描述: 查询数据是遇到这个问题(mysql5.7) 原因分析: 后面查资料才知 ...

  9. Err.number错误号和可捕获的 Microsoft access 数据库引擎和 DAO错误说明

    错误码        信息 2420        数字语法错误 2421        日期语法错误 2422        字符串语法错误 2423        '.'.'!'.或 '()'的使 ...

最新文章

  1. 2-flutter 之HelloWorld
  2. HDMI和VGA接口
  3. tomcat c3p0 mysql_C3P0数据库连接池与tomcat一起使用时报错
  4. java 基础安装和Tomcat8配置
  5. 为什么需要做归一化或者标准化
  6. 女生会 P 的可不仅仅是丰胸和瘦腿......
  7. JSF 2.2在30秒内创建一个自定义Hello World组件
  8. LeetCode 447. 回旋镖的数量(哈希map+组合数)
  9. 信息学奥赛一本通 1162:字符串逆序
  10. 实现跨域访问---同源策略 、常见跨域方法
  11. 使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)
  12. c语言求满足不等式的最小值,高手请进,请教一道简单的c语言题!
  13. getchar()不停止原因
  14. linux ls 输出格式,(转)linux 中使用ls指定输出时间格式
  15. atitit.科技公司的超级武器--超级框架,到底要不要自己的框架??
  16. 虚拟偶像大众化元年,如何挖掘蓝海市场|虚拟偶像公司2020年盘点
  17. 一周信创舆情观察(1.10~1.16)
  18. 大数据CAP原则(CAP定理)、BASE理论
  19. Unity3D ParticleSystem粒子系统
  20. 三星pay显示无法连接服务器,三星智付Samsung pay正式开启:服务器宕机 三星紧急发公告...

热门文章

  1. 【考研408】计算机网络笔记
  2. maven多模块项目管理(帮助你解决许多的依赖版本问题)
  3. asp网站Repuest获取Http网络读卡器刷卡数据Response回应驱动读卡器显示响声
  4. 【Git】修改Git项目的remote
  5. 搭建vue脚手架 以及 npm ERR! missing script: serve解决方法
  6. YUCI纹身 技术支持文档
  7. FL Studio20.9Win/Mac中文完整正式版
  8. Spark - 小实践(6)计算手机在基站停留时间
  9. vue2实现井字棋小游戏附代码
  10. 向量空间中单词表示的有效估计