struct

yuio123465 2009-10-23 11:21:24
#include<iostream.h>
struct S
{
int i;
int *p;
};
int main()
{
S s;
int *p=&s.i;
p[0]=4;
p[1]=3;
s.p=p;
s.p[1]=1;
s.p[0]=2;


}
这个函数会在哪行崩溃啊?为什么啊
...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanjingwei 2009-10-23
  • 打赏
  • 举报
回复
最后一句
详见http://www.yuanma.org/data/2006/1026/article_1720.htm
dollfacedboyfriend 2009-10-23
  • 打赏
  • 举报
回复
#include <iostream.h>
struct S
{
int i;
int *p;
};
int main()
{
S s;
int *p=&s.i; //汇编器在这里会很难过
p[0]=4;
p[1]=3; //我在这里就崩溃了
s.p=p;
s.p[1]=1;
s.p[0]=2; //程序在这里崩溃


}
Julykey 2009-10-23
  • 打赏
  • 举报
回复
恩,挺绕的。就是说s.p的地址已经被s.p[1]改变,想要重新去访问s.p[0]就不行了
kuailekemi 2009-10-23
  • 打赏
  • 举报
回复
还真是挺复杂的,不过要是知道P[0]代表S.i,P[1]就代表S.p的话,还是能理解的

[Quote=引用 1 楼 wanjingwei 的回复:]
最后一句
详见http://www.yuanma.org/data/2006/1026/article_1720.htm
[/Quote]

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧