标签:踩内存
踩内存踩内存,总的来说,是访问了不应该访问的内存地址。尤其在C指针中。可以访问不合法的内存。
int a[10];
int *p = a;
int c = p[11];
//这时变量指针p指向的是一个非法内存。已经越界了。这是越界数组访问导致的踩内存。
char *a = (char *)malloc(sizeof(char) * 10);//申请内存
char *p = a;
char c ;
free(a);
c = p[1];
//这时,指针访问已经被释放的内存块a。这是访问已经被free掉的内存导致的踩内存。
int b = 1;
int a[20] = {0};
int c ;
int *p = a;
c = p[20];
//首先变量b入栈,然后申请数组a[20]入栈,p[20]已经超出了数组的合法范围,
//这时访问的是栈中变量b的内存。访问了不合法的内存。
标签:踩内存
原文地址:http://blog.51cto.com/qiaopeng688/2091842