微软经典程序崩溃题.docxVIP

  • 7
  • 0
  • 约2.49万字
  • 约 54页
  • 2016-12-12 发布于贵州
  • 举报
struct S { int i; int * p;};void main(){ S s; int * p = s.i; p[0] = 4; p[1] = 3; s.p = p; s.p[1] = 1; s.p[0] = 2;}等价于struct S{int i;int *q;};int main(){S s;int *p=s.i;p[0]=1;p[1]=2;s.q=p;s.q[1]=3;int *sss=(int *)0*sss=4;//s.q[0]=4;return 0;}从这两句可以看出结论:s.p[1] = 1; //s.p[1]=1, s.p指向0x1地址s.p[0] = 2; //把2写入0x1空间, 好像是操作系统不给写入, 这里错了p[1] = 3; 这个吧想一个没有分配空间的指针赋值对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:位拷贝与值拷贝liebefeng(虫子)等 级:#2楼 得分:0回复于:2007-11-02 14:09:03错,实际上是在s.p[1]=1;死掉对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:[活动]C语言大赛CSYNYK(石头)等 级:#3楼 得分:0回复于:2007-11-02 14:17:59不对,应该是在s.p[0]=2 这里------感觉是这里,没有验证!对我有用[0]丢个板砖[0]引用举

文档评论(0)

1亿VIP精品文档

相关文档