天勤计算机考研高分笔记(一)绪论2函数

本文探讨了函数中引用型参数的概念,通过对比普通变量与引用型变量的区别,详细阐述了指针、数组及二维数组在引用型参数中的运用。同时,举例说明了如何使用引用型参数进行数据插入,并讨论了有返回值和无返回值的函数类型。
摘要由CSDN通过智能技术生成
  1. 被传入函数的函数是否会改变
int a;							
void f(int x)
{
	++x;
}
a = 0;
f(a);

②***普通变量的引用型***

int a;							
void f(int &x)
{
	++x;
}
a = 0;
f(a);

①,②相比,区别在于:
①中先定义了a;而后执行x = a; ++x;
②中利用到函数的引用型,相当于用a取代了x的位置对a本身进行操作。
指针的引用型

void f(int *&x)

数组的引用型

void f(int x[],int n)//不需要确定数组长度;

二维数组的引用型

void f(int x[][5],int n)//第二个括号必须写上数组长度;

注:所传入的数组的第二维长度也得是maxSize

void f(int [] [5])
{
	...;
}
int a[10][5];
int b[10][3];
f(a);		//参数正确
f(b);		//参数错误

对于数组来说,没有引用型和非引用型之分。
2.关于参数引用型的其他例子
1)插入数据

void insert (Sqlist &L,int x)//L的数据更改,所以要用引用型
{
	int p,i;
	p = LocateElem(L,x);
	for(i = L.length-1;i>=p;--i)
		L.Data[i+1] = L.Data[i];
	L.data[p] = x;
	++(L.lenght);
}

2)

int SearchAndDelete(LNode *C,int x)//C是指向链表表头的指针
{
	Lnode *p,*q;
	p = c;
	while(p->next != NULL)
	{
	if(p->next->data == x)
		break;
	p=p->next;
	}
	if(p->next == NULL)
		return 0;
	else
	{
	q = p->next;
	p->next = p->next ->next;
	free(q);
	retrun 1;
	}
}

3)

void merge (LNode *A,LNode *B,LNode *&C)\
{
	LNode *p = A ->next;
	LNode *q = B ->next;
	LNode *r;
	C = A;
	C ->next = NULL;
	free (B);
	r = C;
	......
}

3.有返回值的函数
int f(int a) //返回值类型为长整型
void() //无返回值类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值