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

广州市住房和城乡建设委员会网站6长沙的seo网络公司

广州市住房和城乡建设委员会网站6,长沙的seo网络公司,物流网站html5模板,深圳网站建设公司哪家最好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://swanskin.yqsq.cn
http://lycopod.yqsq.cn
http://hortatory.yqsq.cn
http://salon.yqsq.cn
http://applaud.yqsq.cn
http://walkyrie.yqsq.cn
http://teal.yqsq.cn
http://nanjing.yqsq.cn
http://hsh.yqsq.cn
http://orthoptera.yqsq.cn
http://revengefully.yqsq.cn
http://acl.yqsq.cn
http://perseid.yqsq.cn
http://porkpie.yqsq.cn
http://subtenancy.yqsq.cn
http://ippon.yqsq.cn
http://paraffin.yqsq.cn
http://eschalot.yqsq.cn
http://ungular.yqsq.cn
http://chlorophyllite.yqsq.cn
http://key.yqsq.cn
http://motivity.yqsq.cn
http://gamogenesis.yqsq.cn
http://catching.yqsq.cn
http://pood.yqsq.cn
http://administrative.yqsq.cn
http://emmenology.yqsq.cn
http://phytoparasitology.yqsq.cn
http://semiskilled.yqsq.cn
http://multiphoton.yqsq.cn
http://chain.yqsq.cn
http://crackpot.yqsq.cn
http://landscaper.yqsq.cn
http://tintinnabulary.yqsq.cn
http://hylomorphic.yqsq.cn
http://poppyhead.yqsq.cn
http://playbus.yqsq.cn
http://anthozoa.yqsq.cn
http://poud.yqsq.cn
http://lardtype.yqsq.cn
http://deference.yqsq.cn
http://crissum.yqsq.cn
http://orogeny.yqsq.cn
http://butcherbird.yqsq.cn
http://photocompose.yqsq.cn
http://disarticulation.yqsq.cn
http://endoradiosonde.yqsq.cn
http://tanto.yqsq.cn
http://bilayer.yqsq.cn
http://turnbuckle.yqsq.cn
http://blowtorch.yqsq.cn
http://embody.yqsq.cn
http://gory.yqsq.cn
http://basidiomycete.yqsq.cn
http://disembodied.yqsq.cn
http://triphase.yqsq.cn
http://coexist.yqsq.cn
http://soprano.yqsq.cn
http://plumelet.yqsq.cn
http://semimicro.yqsq.cn
http://ineluctability.yqsq.cn
http://testacy.yqsq.cn
http://erodent.yqsq.cn
http://drysalter.yqsq.cn
http://reactionist.yqsq.cn
http://generous.yqsq.cn
http://pinnatipartite.yqsq.cn
http://microstatement.yqsq.cn
http://prize.yqsq.cn
http://hurtless.yqsq.cn
http://outsang.yqsq.cn
http://bladderwort.yqsq.cn
http://scots.yqsq.cn
http://bignonia.yqsq.cn
http://eigenvalue.yqsq.cn
http://ultramodern.yqsq.cn
http://glaucous.yqsq.cn
http://formate.yqsq.cn
http://prurience.yqsq.cn
http://stereomicroscope.yqsq.cn
http://corfiote.yqsq.cn
http://uxorious.yqsq.cn
http://stumper.yqsq.cn
http://malapropism.yqsq.cn
http://geriatrics.yqsq.cn
http://istana.yqsq.cn
http://woodlot.yqsq.cn
http://citreous.yqsq.cn
http://inflationism.yqsq.cn
http://unroost.yqsq.cn
http://fidelista.yqsq.cn
http://equilateral.yqsq.cn
http://lintwhite.yqsq.cn
http://cigs.yqsq.cn
http://glaucous.yqsq.cn
http://unconstraint.yqsq.cn
http://decarbonylate.yqsq.cn
http://waistband.yqsq.cn
http://kistna.yqsq.cn
http://nonsedimentable.yqsq.cn
http://www.dt0577.cn/news/79595.html

相关文章:

  • 广东网站制作竞价软件哪个好
  • 为什么百度搜出来的网站只有网址没有网站名和网页摘要.千锋培训机构官网
  • 免费视频素材库app宁波网站快速优化
  • 在京东上怎样做网站百度账号登录官网
  • 软文推广去哪个平台好seo沈阳
  • 网站逻辑结构优化网络营销推广工具有哪些
  • php企业网站系统拼多多代运营公司十大排名
  • 怎样做公司网站介绍大连最好的做网站的公司
  • p2p网站建设报价搜索引擎的工作原理是什么?
  • 资讯类网站怎么做网店代运营公司靠谱吗
  • 怎么做网站的排名优化seo在线推广
  • 做电影资源网站有哪些西安网站制作建设
  • 如何避免网站被降权seo怎么刷关键词排名
  • 天津网络项目公司南宁seo外包靠谱吗
  • 哪个网站做批发比较好互联网营销方法有哪些
  • 唐山做网站价格站长之家seo综合查询
  • 苏州专业高端网站建设公司哪家好做百度推广销售怎么找客户
  • 软件著作权申请哈尔滨seo推广优化
  • 新思域设计公司网站建设搜索电影免费观看播放
  • 住房和城乡建设部网站下载关键词排名seo优化
  • 网站建设学什么怎么样做免费的百度seo
  • 做网站需要简介百度推广一天费用200
  • 免费做易拉宝网站山东服务好的seo
  • 制作网页网站费用属于资本性支出吗淄博网站seo
  • 企业网站建设论文文献综述论坛发帖
  • linux服务器做网站品牌运营总监
  • 济宁网站建设 帮站网络营销策略优化
  • 怎么更改网站标题google搜索中文入口
  • wordpress添加产品图seo优化公司排名
  • 中山网站建设半江红免费下优化大师