概述
两指针相等,则指向同一位置,且指针本身地址相同,在数据结构中操作一个则代表另一个也进行了相应操作,如链表中的下方示例
dummyHead->next = head;
ListNode *cur = dummyHead;
while (cur->next != NULL)
{
if(cur->next->val == val){
cur->next = cur->next->next; // dummyHead->next = cur->next->next同步实施
}else{
cur = cur->next; // 赋值运算不操作,dummyHead不变
}
}
瞎蒙一个例子,你品,你细品。
#include<iostream>
using namespace std;
int main(){
int a = 1,b = 2;
int *p1 = &a,*p2 = p1; // 指针相等,仅执行复制操作
cout << "p1:" << p1 << endl;
cout << "p2:" << p2 << endl;
int *p3 = &b;
cout << "p3:" << p3 << endl;
p2 = p3; // 指针相等,仅执行复制操作,p2之前相同的指针不操作
cout << "new_p1:" << p1 << endl;
cout << "new_p2:" << p2 << endl;
cout << "new_p3:" << p3 << endl;
}
最后
以上就是粗暴导师为你收集整理的指针相等(链表等)的全部内容,希望文章能够帮你解决指针相等(链表等)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复