指针 小记

原文地址:http://blog.csdn.net/hairetz/article/details/4134446

关于指针,觉得有点意思就发上我的注释,大家分析下,可以练练基本功。

struct S 

int i; 
int *p; 
}; 
main() 

S s; 
int *p=&s.i;    //p指向s的首地址 
p[0]=4;        //处理s.i 
p[1]=3;          //s.p =3
s.p=p;          //s.p指向s的首地址 
s.p[1]=1;      //s.p[1]就是s里的p,p=0x00000001 
s.p[0]=2;        //操作0x00000001地址,代码在此处挂掉
}

这里虽然是在最后面才挂掉,但是野指针早在p[1]=3;就出现了,我们可以在这句后面加个s.p[0]=1; //如此类,往p指向的地址写数据就可以,必然会在中间就挂掉。

具体的可跟踪调试

posted @ 2011-07-23 08:59  wangkangluo1  阅读(272)  评论(0编辑  收藏  举报