首页 / C++ / c++学习笔记(五)
c++学习笔记(五)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c++学习笔记(五),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1727字,纯文字阅读大概需要3分钟。
内容图文
![c++学习笔记(五)](/upload/InfoBanner/zyjiaocheng/644/c313d087d40645b9afa7d17952860a3b.jpg)
数组作为函数参数
定义
数组可以作为函数的参数使用,进行数据传送。
数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用;另一种是把数组名作为函数的形参和实参使用。
1、数组元素作为函数实参
数组元素就是下标变量,它与普通变量并无区别。因此它作为函数实参使用与普通变量是完全相同的,在发生函数调用时,把作为实参的数组元素的值传递给形参,实现单向的值传递。
2、数组名作为函数参数
注:(1)与数组元素作为函数参数不同的是,用数组名作为函数参数时,要求形参与相对应的实参都必须是类型相同的数组,否则会发生错误。
(2)用数组名作为函数参数时,并不是进行值的传递,即不是把实参数组的每一个元素的值都赋与形参数组的各个元素。因为实际上形参数组并不存在,编译系统并不为形参数组分配内存。
数据的传递:数组名就是数组的首地址。因此在数组名作为函数参数时所进行的传递只是地址的传递,也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也等于有了实际的数组,即实参与形参有一段共用的内存空间。
二维数组作为函数参数
规定:如果将二维数组作为参数传递给函数,那么在函数的参数声明中必须指明数组的列数,数组的行数没有太大关系,可以指定也可以不指定。
因为函数调用时传递的是一个指针,它指向由行向量够成的一维数组。
因此二维数组作为函数参数正确写法如下所示:
void F(int a[5][5]);
void F(int a[ ][5]);
或者
void F(int (*a)[10]); //星号和数组名需要用括号包起来,这种形式的声明参数是一个指针,它指向具有10个元素的一维数组。
不加括号的参数是一个数组,每个元素都是指针。
void Func(int *array[10]);//这时候参数相当于是声明了一个数组,该数组有10个元素,其中每个元素都是一个指向整型对象的指针。
实践二维数组作函数参数:
#include<iostream>
using namespace std;
void f(int (*)[3],int a);
int main()
{
int a[2][3]={
{1,1,1},
{2,2,2}
};
f(a,2);
}
void f(int (*a)[3],int l)
{
for(int i=0;i<l;i++)
for(int j=0;j<3;j++)
cout<<a[i][j]<<",";
cout<<endl;
}
内容总结
以上是互联网集市为您收集整理的c++学习笔记(五)全部内容,希望文章能够帮你解决c++学习笔记(五)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。