c语言 常见内存错误
来源:互联网 发布:在线看熊片的软件 编辑:程序博客网 时间:2024/05/01 18:34
常见内存错误
一 0xC0000005
1 报错信息:
未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突。
2 报错截图:
3 错误代码:
#include"stdio.h"void main(){char * p = NULL;printf("内存异常处理:\n");printf("错误提示: 未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突。\n");printf("错误原因: 使用了未初始化的指针\n");printf("解决办法: p = (char *)malloc(sizeof(char)*5);");memcpy(p, "abcd", strlen(p)); //未分配堆空间printf("%s\n",p);getchar();}
4 解决办法
5 正确的代码:
#include"stdio.h"void main(){char * p = NULL;printf("内存异常处理:\n");printf("错误提示: 未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突。\n");printf("错误原因: 使用了未初始化的指针\n");printf("解决办法: p = (char *)malloc(sizeof(char)*5);\n");p = (char *)malloc(sizeof(char)* 5);//添加这行代码即正确memcpy(p, "abcd", strlen(p)); //未分配堆空间printf("输出字符串:%s\n",p);getchar();}
二 0xC00000FD(递归调用导致栈溢出):
1 报错信息:
0xC00000FD: Stack overflow
2 报错截图
3 错误代码
#include"stdio.h"sum(int num){if (num == 1)return 1;return sum(num - 1) + num;}void main(){int num = 0;num = sum(10000);printf("%d",num);getchar();}
4 解决办法
把递归计算1到1000的和改成用循环(非递归)来计算
#include"stdio.h"int sum(int num){int i = 0;int sum = 0;for (i = num; i >= 1; i--){sum = sum + i;}return sum;}void main(){int num = 0;num = sum(10000);printf("%d",num);getchar();}
二 0xC00000FD(数组导致栈溢出):
1 报错信息:
0xC00000FD: Stack overflow
2 报错截图
3 错误代码
#include"stdio.h"void main(){ char ch[1020*1024]; getchar();}
4错误原因
栈空间只有1M ,大于1M的空间就会出现溢出的现象
5 解决办法
a 申请堆空间
#include"stdio.h"void main(){char *ch = (char *)malloc(sizeof(char)* 1020 * 1024);getchar();}
b 定义成全局变量
#include"stdio.h"char ch[1020 * 1024];void main(){getchar();}
0 0
- c语言 常见内存错误
- C语言常见的内存错误总结
- 常见C语言内存错误及对策
- C语言中常见的内存错误
- C语言常见错误
- C语言:常见错误
- 【C语言】常见错误
- c语言常见错误
- C语言常见错误
- C语言常见错误
- C语言常见错误
- C语言常见错误
- C语言常见错误
- C语言常见错误
- C语言常见错误
- C语言常见错误
- 常见的C语言内存错误及对策
- 常见的C语言内存错误及对策
- matplotlib绘图(1)
- 在window平台下的git push出现Permission denied (publickey).
- 问题E 铺地毯 [模拟]
- 【OpenCV学习笔记】二、OpenCV例程赏析
- excel文档导入到mysql数据库
- c语言 常见内存错误
- 是否完全二叉搜索树 (30分)
- 爱拼宝宝,电商小程序
- UEFI启动模式下安装Ubuntu 16.04教程
- leet_257. Binary Tree Paths-根到叶子的路径
- 数据结构实验之链表九:双向链表
- [博弈论] cf317 D Game with Powers
- LeetCode 104. Maximum Depth of Binary Tree 题解
- 今天开始陆陆续续写博客,做更优秀的程序员