c++入门 函数

1.基本函数

定义:不想介绍。

 

2.函数与数组

常用两个参数来表示数组:

1.使用指针来表示数组的开头地址

2.数组元素个数

 

使用指针来表示数组

在c/c++中,常用数组名视为指针。c++将数组名解释为第一个元素的地址。例:

 

这一规则有两个例外情况:1.数组声明用数组名来标记存储位置。2.对数组名使用sizeof来得到数组的长度(字节单位)。

 

在c++中,当(且仅当)在函数头或函数原型中,int* Y与int Y[ ]相等。当指针指向数组

第一个元素时,使用数组表示法。当指针指向普通变量时,使用指针表示法。

 

下列等式恒成立:

int Y[i]=*(Y+i);

 

填充数组,使用cin,步骤:

判断是否输入的数/字符,是否符合规定,不符合的剔除。使用cin.clear( ),并要用cin.get()读取并判断是否为"\n",不是就要继续读取。

 

 

显示数组,用const保护数组

 

由于函数形参是使用数组名来表示数组,它使用的是数组的原始数据,如果只是单纯的显示数据不需要改变数据,需要const保护数组不被改变。不像基本变量,当做形参时是使用拷贝,所以不用const保护。例:

 

 

void show_array(const double ar[ ],int n);


该声明表明指针ar指向的常量数据。只有定义了const数组的函数才不能改变数组,对其他没有定义的没有影响。

 

 

 

使用数组区间的函数

除了上述定义形参的方法,还可以使用两个指针作为形参,一个头指针,一个尾指针。尾指针是指向最后一个数据后面地址的指针。例:

int  show_array(const int* begin,const int* end);

 

指针与const

 

指针有两种使用const的情况:

1.让指针指向一个常量指针:

const int * pr=&age;

 

指针pt指向一个const int常量。也就是*pt是一个常量。

按理来说,*pt的值将不能改变,但是指针有这另一种改变值的方式。如上例子,发现age不是const,于是可以使用改变age的地址来改变*pt的值。

 

2.让指针指向的地址不变

int * const pr=&age;

这里不能改变指针地址,但是可以通过改变*pr的值来改变age的值。

 

3.还可以两个同时const

const int* const pr= &age;

 

注意,可以左边指针一方const,也可以指针和右边数据一起const,但是不能只将右边数据一方const.

const int age=1.63;

int* pr= &age;//不允许

 

3.函数与二维数组

函数中使用二维数组作为形参,主要还是将化为指针。

int Y[i][j];

定义int Y[][j]是指针。指向第一个大元素。

二维数组不能使用const。

 

4.函数与c风格字符串

使用const来保护字符串。

和char数组用法相似。

函数不能直接返回一个字符串,只能返回一个字符串地址。

 

5函数与结构

有3种作为形参的方式

1.按值传递

结构体按值传递,作为形参是使用对数据的拷贝。因此可以不使用const保护。例:

 

2传递结构的地址

 

  • 调用函数时将地址(&Y)传递给它。
  • 将形参声明为指向polar的指针,及polar*.由于函数不该修改结构,使用const保护。
  • 由于形参是指针不是结构,所以使用(->)不是(.)

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值