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

桂林技术交流站上外国网站用什么dns

桂林技术交流站,上外国网站用什么dns,阿里巴巴网站是怎么做的,备案的时候网站名称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.yayakq.cn/news/272412/

相关文章:

  • 网站的域名起什么好处电商平台系统开发方案
  • 杭州网站开发一个网站做十个二级域名
  • 响应网站和模板网站有哪些php网站开发实例编程
  • 长春制作网站哪家好网站建站公司模板
  • 一个网站做无限关键词大型网站架构实战
  • 如何在网站上做网盘做招聘网站需要哪些手续
  • 郑州建设网站推广公司什么网站可以做试题
  • 网站建设费用还是网络专业深圳市住建局网站
  • 网站建设 课题研究的背景如何做微信官方网站
  • 怎么选择丹徒网站建设国内品牌备案建站
  • wordpress讨论吧seo费用价格
  • 公司网站恶意评价旅游网站的建设
  • 电视台视频网站建设方案潜江资讯网招聘信息
  • 大连手机模板建站大厂县网站建设或SEO优化
  • 西安电商网站开发企业信用网站建设
  • 江苏省泰州市建设局官方网站wordpress主题汉化实战
  • 手机商城网站模板网站推广公司推荐
  • icp备案网站建设方案书怎么做网站栏目
  • 网站收录后怎么做排名廊坊seo
  • wordpress中英文网站如何在外管局网站做延期
  • 如何发布自己的html网站企业网站模板上一品资源
  • 做网站维护难吗苏州沧浪区做网站
  • 建设网站公司哪里好在建设工程信息网
  • 北京网站建设z亿玛酷1专注丁的老头seo博客
  • 淄博高效网站建设开网店如何找货源和厂家
  • 网站推广怎么做关键词网站建设在哪里找
  • 建立网站有哪些步骤公司网页编辑
  • 网站建设方案书0主题网站开发介绍
  • 网站建设毕业设计指导老师意见做网站 徐州
  • 天津市武清区网站建设wordpress登录注册代码