p1=p2; \\p1 的指针指向 p2,意味着p2值改变,p1值也改变
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 12:12:46
p1=p2; \\p1 的指针指向 p2,意味着p2值改变,p1值也改变
p1=p2;\\我想是p1指向改变了,即p1不再指向原变量的地址,改为指向p2所指向的地址.那为什么p2的值也会变呢?
#include
void swap(int *p1,int *p2)
{
int *t;
t=*p1;
p1=p2;
*p2=t;
}
void main()
{ int a=1,b=3,*p=&a,*q=&b;
swap(&p,&q);
printf("%d,%d,%d,%d\n",a,b,*p,*q);
}
p1=p2;\\我想是p1指向改变了,即p1不再指向原变量的地址,改为指向p2所指向的地址.那为什么p2的值也会变呢?
#include
void swap(int *p1,int *p2)
{
int *t;
t=*p1;
p1=p2;
*p2=t;
}
void main()
{ int a=1,b=3,*p=&a,*q=&b;
swap(&p,&q);
printf("%d,%d,%d,%d\n",a,b,*p,*q);
}
执行 p1=p2 后,可以认为 p1 就是 p2,因为 p1 已经放弃了原有的指向,指向了新的地址 p2,此时,无论改变 *p1 还是 *p2 ,都是改变 p2 指向的内存;原 p1 指向的内存,在函数中就无法访问了.
void swap(int *p1,int *p2)
{
int *t;
t=*p1;
p1=p2; //错误,应该改成 *p1 = *p2;
*p2=t;
}
void swap(int *p1,int *p2)
{
int *t;
t=*p1;
p1=p2; //错误,应该改成 *p1 = *p2;
*p2=t;
}
p1=p2; \\p1 的指针指向 p2,意味着p2值改变,p1值也改变
p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的 .A.p2=*&p1; B.p2=**p1; C.
c语言:两个指向字符串的指针,*p1,*p2,请问while(*p1++=*p2++)是什么意思?
关于指针的问题 p,p1,p2都是指针 p=p1; p1=p2;p2=p; 交换了指针指向空间的内容?
指针*p1>*p2c语言中*p1>*p2 的意义是什么,是不是p1指向的值大于p2指向的值,解释其原因.
有指针变量p1,p2,p1="abc";p2="abc".strcat(p1,p2)如何理解
C++p1->next=p2;和p2=p1->next;是不是都代表p2指向p1的下一个地址?
p2->next=p1;p2=p1;
while(*p1) p1++; while(*p2) { *p1=*p2; p1++; p2++; } *p1=0;
有语句“int a=10,b=20,*p1,*p2; p1=&a; p2=&b; ”,若要让p1也指向b,可选用的赋值语
C语言,设p1和p2是指向同一个int型一维数组的指针变量,那么k=*p1*(*p2)是什么意思?
指针的逻辑运算例题 inta[5]={1,3,5,7,9},*p1=a,*p2=0;那么 p1,p2,为真,p2,p1&