C语言结构体问题
structA{inta;A*next};A*p=newA,*q=newA;p->a=1;p->next=NULL;那么要是q=p;这个语句,是吧P指向的内存单元的值复制...
struct A
{
int a;
A *next
};
A *p=new A,*q=new A;
p->a=1;
p->next=NULL;
那么要是
q=p;
这个语句,是吧P指向的内存单元的值复制到q所指向的内存单元,还是说指针q将会指向p所指向的内存单元? 展开
{
int a;
A *next
};
A *p=new A,*q=new A;
p->a=1;
p->next=NULL;
那么要是
q=p;
这个语句,是吧P指向的内存单元的值复制到q所指向的内存单元,还是说指针q将会指向p所指向的内存单元? 展开
展开全部
「指针q将会指向p所指向的内存单元」正确。
指针赋值只改变它指向的地址,不会改变别的。
另外提醒一下:最好不要给q赋初值,不然就需要在「q=p;」之前要先用「delete q」把q原来指的那个A实例的空间释放掉。
指针赋值只改变它指向的地址,不会改变别的。
另外提醒一下:最好不要给q赋初值,不然就需要在「q=p;」之前要先用「delete q」把q原来指的那个A实例的空间释放掉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针q将会指向p所指向的内存单元
赋值操作,都是赋值类型的本身。也就是说都是复制本身的内存
*q=*p;这才是复制结构体
赋值操作,都是赋值类型的本身。也就是说都是复制本身的内存
*q=*p;这才是复制结构体
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
明显是后者
指针q将会指向p所指向的内存单元
指针q将会指向p所指向的内存单元
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-02-12
展开全部
q=p;
是指针q将会指向p所指向的内存单元
是指针q将会指向p所指向的内存单元
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
q=p
指针q指向 p所指向的对象
q、p指向同一块内存了
指针q指向 p所指向的对象
q、p指向同一块内存了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询