字符串指针和字符串数组---Access violation writing location 错误
来源:互联网 发布:花粉儿秒杀软件 编辑:程序博客网 时间:2024/06/05 17:06
这两天写程序遇到一个问题,用字符指针去修改字符串中的字符,运行时程序崩溃。调试的时候弹出窗口报错--"Access violation writing location..."。后来查了查资料,发现是没有区分好字符串指针和字符串数组的概念。记录下来。错误的程序代码如下:
int _tmain(int argc, _TCHAR* argv[]){char *pStr = "hench";//char *p = pStr;//*p = 'H';//修改首字母return 0;}
查了查资料,原因小结如下:
char *pStr = "hench";
上面的声明是字符串指针,指针指向字符串常量存放的内存,可读不可写。
如果直接修改pStr[n] = 'x' 或者用字符指针去间接修改字符串的内容,程序调试运行时会报“Access violation writing location”错误。
char cStr[] = "hench";
上面声明的才是字符串变量,程序把存放“hench”的内存(只读区域)复制到cStr的内存中,以后操作的就是cStr变量,可读可写。
1 0
- 字符串指针和字符串数组---Access violation writing location 错误
- Access violation之字符串
- Crash Analyzing-- 0xC0000005: Access violation writing location 0x00000010
- Unhandled exception 0xC0000005: Access violation writing location
- [捉虫记录] access violation writing location _findnext
- 字符串指针和字符串数组
- 字符串指针和字符串数组
- 字符串数组和字符串指针
- 字符串指针和字符串数组
- 字符串指针和数组
- 指针、数组和字符串
- 指针数组和字符串
- 指针字符串和数组指针
- Access violation reading location 0x00000000是什么错误呢?
- Unhandled exception at 0x007be7e0 in test.exe: 0xC0000005: Access violation writing location 0x00000
- 字符串指针和字符串数组的区别
- 字符串数组和字符串指针的区别
- 字符串指针和字符串数组的区别
- tornado系列一:tornado基础
- Gradle学习笔记
- Redis网络协议详解
- 我是一个线程(修订版)
- Redis分布式锁
- 字符串指针和字符串数组---Access violation writing location 错误
- require.js入门教程
- python中sort sorted() reverse() reversed() 的区别
- 最长括号匹配问题
- 使用Sync Adater(1)综述
- webAPI
- SharedPrefences小结
- 安装PS时提示...计算机重新启动操作可能处态
- 百度——基础架构部面试(产品实习生-营销云方向)