当前位置: 首页 > news >正文

河池建设银行招聘网站淮北seo排名

河池建设银行招聘网站,淮北seo排名,武汉市政建设集团有限公司,抖音推广方案1 C中指针与引用的区别 引用相当于起别名int m; int &n m;n 相当于 m 的别名(绰号),对 n 的任何操作就是对m的操作。 所以 n 既不是m的拷贝,也不是指向 m 的指针,其实n就是 m 它自己。 引用的注意事项&#xff…

1 C++中指针与引用的区别

引用相当于起别名
int m;
int &n = m;

n 相当于 m 的别名(绰号),对 n 的任何操作就是对m的操作

所以 n 既不是m的拷贝,也不是指向 m 的指针,其实n就是 m 它自己


引用的注意事项:

1 引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)
2 不能有 NULL 引用,引用必须与合法的存储单元关联(指针则可以是 NULL)
3 一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)

例如:

int i = 5;
int j = 6;
int &k = i;
k = j; //将k和i的值都变为了6

语句 k = j 并不能将 k 修改成为 j 的引用,只是把k的值改变成为 6。

由于 k 是 i 的引用,所以i的值也变成了 6。


引用的主要功能是传递函数的参数和返回值。

C++ 语言中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递。

1 值传递:

void Func1(int x) 
{ x = x + 10; 
} 
... 
int n = 0; 
Func1(n); 
cout << "n = " << n << endl; // n = 0 

2 指针传递:

void Func2(int *x) 
{ (* x) = (* x) + 10; 
} 
... 
int n = 0; 
Func2(&n); 
cout << "n = " << n << endl; // n = 10

3 引用传递:

void Func3(int &x) 
{ x = x + 10; 
} 
... 
int n = 0; 
Func3(n); 
cout << "n = " << n << endl; // n = 10

x 和 n 是同一个东西,改变 x 等于改变 n


2 C++指针的引用*&

如果想:在一个函数中修改指针的指向,并且在退出函数后这种操作保留,就需要使用指针的引用

#include <iostream>
using namespace std;struct point {int x;int y;
};void changenum1(point *&pnum) { //point *&pnum表示指向point类型的指针的引用,即point*类型变量的引用pnum = new point;pnum->x = 4;
}void changenum2(point *pnum) {pnum = new point;pnum->x = 4;
}void test1() {point *num = new point;num->x = 10;changenum1(num);std::cout << "指针引用" << num->x << endl;
}void test2() {point *num = new point;num->x = 10;changenum2(num);std::cout << "指针" << num->x << endl;
}int main() {cout << "开始执行程序" << endl;test1();test2();cout << "执行程序完毕" << endl;return 0;
}
point *&pnum:
表示指向point类型的指针的引用(即point* 类型变量的引用)point *&pnum = point* &pnum(比较好理解)

3 题目

设计在单链表中删除值相同的多余结点的算法

算法:

typedef struct list
{int data;struct list *next;
}LNode;void deleteLike(LNode* &head)
{LNode *p,*q,*s;for(p=head;p!=0;p=p->next){for(q=p->next,s=q; q!=0; )if (q->data==p->data) //删除相同值的节点 {s->next=q->next; free(q);q=s->next;}else{ s=q;q=q->next;}}
}

完整代码:

#include<stdio.h>
#include<stdlib.h>#define N 10typedef struct list
{int data;struct list *next;
}LNode;void deleteLike(LNode* &head)
{LNode *p,*q,*s;for(p=head;p!=0;p=p->next){for(q=p->next,s=q; q!=0; )if (q->data==p->data) //删除相同值的节点 {s->next=q->next; free(q);q=s->next;}else{ s=q;q=q->next;}}
}LNode *creatlist(int *a)
{LNode  *h,*p,*q;      int  i;h=p=(LNode *)malloc(sizeof(LNode));for(i=0; i<N; i++){q=(LNode *)malloc(sizeof(LNode));q->data=a[i];  p->next=q;  p=q;}p->next=0;return h;
}void outlist(LNode  *h)
{LNode  *p;p=h->next;if (p==NULL)  printf("\nThe list is NULL!\n");else{printf("\nHead");do {printf("->%d",p->data);  p=p->next;    } while(p!=NULL);printf("->End\n");}
}int main( )
{     LNode *A; int a[N]={1,3,4,1,10,3,4,8,6,8};A=creatlist(a);deleteLike(A);outlist(A);return 0;
}
http://www.ds6.com.cn/news/98190.html

相关文章:

  • 武汉百度网站推广seo公司服务
  • 动态网站开发视频英雄联盟世界排名
  • 美术培训学校网站模板免费数据分析网站
  • 微信开发网站制作百度知道网页版进入
  • 有做材料的网站吗seo综合查询平台官网
  • 京东seo搜索优化seo的基本步骤包括哪些
  • 家具网站开发设计论文欧美seo查询
  • 怎么将自己房子投入网站做民宿产品营销推广方案
  • 网站服务器买了后怎么做的谷歌seo技巧
  • 制作公司主页济南网站自然优化
  • 公司网站怎么维护苹果aso优化
  • 网站开发流行吗免费网站制作软件平台
  • 安庆网站建设推荐秒搜科技新站整站快速排名
  • 网站建设两个方面百度客户端下载安装
  • vs2017做网站企业培训课程有哪些内容
  • 单页面网站带后台广点通
  • b站推广2024mmm已更新账号权重查询入口
  • 三级课题做网站百度关键词竞价和收费的方法
  • 专门做童装的网站有哪些青岛网站建设与设计制作
  • seo整站优化服务郑州seo排名公司
  • wordpress网站如何播放视频播放器济宁百度竞价推广
  • alex网站建设抖音关键词排名系统
  • 看24小时b站直播在线科技成都网站推广公司
  • vs2015 做网站店铺推广引流的方法
  • wangz网站建设永久免费进销存管理软件手机版
  • 母婴用品商城网站建设网络营销自学网站
  • 高端大气的网站制作工具刷网站排刷排名软件
  • 网络营销自己做网站新品怎么刷关键词
  • 南京网站开发南京乐识不错seo关键词使用
  • 现在还有没有做任务的网站无锡营销型网站建站