回复 15楼 丞相杀手
p0=0;
p1=0;
······
p1=(p+1);
p0=p;
p=(p+1);
p1=p0;
加上一个p1
然后这样就没问题了吧
不过这样还是没达到我想要的交换p跟p+1的值
而一旦我使用
struct student *p;
p=stu //stu是我已经定义的一个结构体数组名
p0=0;
p1=0;
*p1=*(p+1);
*p0=*p;
*p=*(p+1);
*p1=*p0;
虽然程序可以编译但是在运行的时候当运行到*p1=*(p+1);这一步的时候系统就会提示内存冲突
我已经给p1赋值了,但是为什么还是会出问题呢?
其中p是指向一个结构体数组的首位,那p+1应该是指向stu[1]的,那这样子p1指向的内容应该是stu[1]的内容,可是运行的时候为什么p1是错误的指针呢?
[
本帖最后由 qingke 于 2011-2-24 22:37 编辑 ]