内存访问越界
来源:互联网 发布:2016年三月进出口数据 编辑:程序博客网 时间:2024/05/16 02:44
// 不正确使用指针导致p1导致出现异常和正确使用数组实现字符串的连接
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,char* argv[])
{
char * p1 = (char *)malloc( sizeof(char)*20 );
char p3[20]= "asdf";
char * p2 = "qwer";
p1 = "zxcv"; //p1指向"zxcv"的首地址, 而不是把"zxcv"拷贝到malloc开辟的内存块中
//strcat( p1, p2 ); //报错: 0xC0000005异常,访问冲突
strcat( p3, p2 ); //正确
printf( "p1=[%s], p2=[%s]\n", p1, p2 );
printf( "p3=[%s], p2=[%s]\n", p3, p2 );
//释放内存
// free( p1 );
p1 = NULL;
system("pause");
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,char* argv[])
{
char * p1 = (char *)malloc( sizeof(char)*20 );
char p3[20]= "asdf";
char * p2 = "qwer";
p1 = "zxcv"; //p1指向"zxcv"的首地址, 而不是把"zxcv"拷贝到malloc开辟的内存块中
//strcat( p1, p2 ); //报错: 0xC0000005异常,访问冲突
strcat( p3, p2 ); //正确
printf( "p1=[%s], p2=[%s]\n", p1, p2 );
printf( "p3=[%s], p2=[%s]\n", p3, p2 );
//释放内存
// free( p1 );
p1 = NULL;
system("pause");
return 0;
}
0 0
- 内存访问越界
- 【转】内存访问越界
- 内存访问越界
- 内存访问越界
- 内存访问越界
- 内存访问越界
- 内存访问越界问题
- 访问内存越界
- c++内存访问越界
- 内存越界访问
- 内存访问越界
- 内存访问越界
- 内存访问越界
- 内存访问越界(转)
- 越界访问内存的问题
- 内存篇之越界访问
- 又遇到访问内存越界错误
- 利用保护页检测内存访问越界
- 第六章--内排序
- 【算法和数据结构】1.4--数据结构之队列
- Android开发之自定义状态栏背景色的实现
- 技术面试准备手册
- 【软件测试】软件测试自动化
- 内存访问越界
- CSS3边框 圆角效果 border-radius
- 调整内核printk打印级别--减少启动时的打印信息
- android 打开一个选择拍照或是本地图库的Intent,接受此Intent返回的信息
- 字符串和字符串常数
- Linux中的gpio口使用方法
- 2014华为编程大赛题目2:笨笨熊搬家打包篇
- php验证码的实现原理及引入第三方类实现
- 为什么要使用 Node.js