写入位置时发生访问冲突
来源:互联网 发布:淘宝网商品页面打不开 编辑:程序博客网 时间:2024/05/31 19:35
写入位置时发生访问冲突
原因总结:
1:使用了未初始化的指针(未给指针分配空间)
2:使用了已经删除的指针
3.char str[]="ABCD",这个数组的存储空间是在栈中开辟的(在栈中开辟了一个数组?)
char *str="ABCD",str指向的是静态存储区,"ABCD"是位于常量区的,指针str只是指向了这个位置(只在栈中开辟了一个指针内存?),那么这些值就不能被修改。而上面数组中,要注意的是把字符复制到数组的元素中,那么就是可以被任意修改的。
例:
- char* str = "ABCD"; //char str[] = "ABCD";可以解决
- strrev(str);
- char * strrev(char str[]){
- int j, i;
- for(i = 0, j = strlen(str) - 1; i < j; i++, j--){
- char tmp = str[i];
- str[i] = str[j];//写入位置时发生冲突
- str[j] = tmp;
- }
- return str;
- }
分析:
程序代码区:
- 1 //main.cpp
- 2 int a=0; //全局初始化区
- 3 char *p1; //全局未初始化区
- 4 main()
- 5 {
- 6 int b; //栈
- 7 char s[]="abc"; //栈
- 8 char *p2; //栈
- 9 char *p3="123456"; //123456\0在常量区,p3在栈上。
- 10 static int c=0; //全局(静态)初始化区
- 11 p1 = (char*)malloc(10);
- 12 p2 = (char*)malloc(20); //分配得来得10和20字节的区域就在堆区。
- 13 strcpy(p1,"123456"); //123456\0放在常量区,编译器可能会将它与p3所向"123456"优化成一个地方。
- 14 }
存取效率的比较
char s1[]="aaaaaaaaaaaaaaa";
char *s2="bbbbbbbbbbbbbbbbb";
aaaaaaaaaaa是在运行时刻赋值的;而bbbbbbbbbbb是在编译时就确定的;但是,在以后的存取中,在栈上的数组比指针所指向的字符串(例如堆)快。
原文链接:http://blog.csdn.net/pipisorry/article/details/37055183
ref:用递归实现字符串反转http://blog.csdn.net/andysun1986/article/details/6941230
1 0
- 写入位置时发生访问冲突
- 写入位置0xcccccccc时发生访问冲突
- 写入位置 0xCDCDCDCD 时发生访问冲突等
- 0xC0000005: 写入位置 0x009BDA68 时发生访问冲突。
- 0xC0000005: 写入位置 0x00000000 时发生访问冲突
- 读取/写入位置发生访问冲突
- VS 2013设置大地址解决地址写入冲突问题 0xC0000005: 写入位置 0x00000014 时发生访问冲突
- 0xC0000005: 写入位置 0x00000000 时发生访问冲突的解决办法
- ”0xC0000005: 写入位置 0xCDECCAE1 时发生访问冲突.“原因分析
- 有未经处理的异常: 0xC0000005: 写入位置 0x01260000 时发生访问冲突
- Win10下C++代码文件夹遍历错误:0xC0000005: 写入位置时发生访问冲突。
- 字符串逆序问题(解决方案)——及写入位置时发生访问冲突
- 读取位置时发生访问冲突
- QT读取位置时发生访问冲突
- ……处有未处理的异常:0xC0000005:写入位置……时发生访问冲突。
- 0x669586df (QtCored4.dll) 处最可能的异常: 0xC0000005: 写入位置 0xabababab 时发生访问冲突
- 0xC0000005: 读取位置 0x00000020 时发生访问冲突
- 0xC0000005: 读取位置 0x00000028 时发生访问冲突
- linux命令:find命令
- 基于xmpp openfire smack开发之smack类库介绍和使用[2]
- 递归
- IT圈 向初级猿迈进
- 原码,反码和补码
- 写入位置时发生访问冲突
- Git 使用及说明
- CentOS 6.5 LAMP(Apache+MySQL+PHP)安装步骤
- 2057 A + B Again
- BIEE11g国际化(多语言设置)一
- [Material Design] 教你做一个Material风格、动画的按钮(MaterialButton)
- 2014.10.6模拟赛【暗黑破坏神】
- 基于xmpp openfire smack开发之Android客户端开发[3]
- C++ 将12345的每位分别打印出来