两个指针指向同一个地址,怎样只改变其中的一个指针的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个指针指向同一个地址,怎样只改变其中的一个指针的内容相关的知识,希望对你有一定的参考价值。

你只能通过复制,让两个指针指向不同的地址,然后再修改一个的内容。否则的话是做不到改了一个而另一个指向的内容不变。你既然知道他们指向同一块内存,肯定知道你的要求实现不了 参考技术A 如果你说的是改变其中一个指针指向的内容的话,那只能复制一份了,使用malloc+memcpy拷贝一份再改变就行了

C语言 怎样让一个指针的内容传给一个变量

如果你定义了一个指针
int
*p;
然后你给他赋值,他必须先指向一个变量
int
a;
p=&a;
然后
*p就代表a的值
了,*是取值的意思
*p就代表把p指向变量的值取出
这样*p可以当普通变量使用了
int
b;
b=*p;
这样就把p指向的变量a的值赋给了变量b
参考技术A int
x,y,*p,*p1;
p=&x;
//x的地址送指针变量p
p1=p;
//指针变量p的内容送另一指针变量,p1也指向x了
x=5;
y=*p;
//p指向的单元的内容送另一变量,y=5了
参考技术B 首先,你要明白
p的类型
dlinklist
*
p;
指针p指向的类型是dlinklist
他存放的是这个指向这个结构体的地址
p->next->next
是指向下一个节点!
参考技术C 比如:
i
是一个指针,b是一个变量.我要取
i
这个指针里面的值,那么就这样.
b
=
*i;

以上是关于两个指针指向同一个地址,怎样只改变其中的一个指针的内容的主要内容,如果未能解决你的问题,请参考以下文章

22.引用指针

C语言 怎样让一个指针的内容传给一个变量

常指针的值不能改变,但是其指向的内容可以改变,这么理解?请举例说明下

C语言中怎样区分一维指针和二维指针?

C++类体系中this指针不能改变指向吗?

在 C 语言中:我可以让两个不同类型的指针指向同一个地址吗?