时间:2021-05-20
1.一维数组名作为函数参数传递
一位数组名,就相当于该数组的首个元素的地址;
复制代码 代码如下:
int a[10];
int *p;
p=a;
//p=a与p=&a[0]是等价的
实例代码:
复制代码 代码如下:
#include<iostream>
using namespace std;
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
void Print(int *p ,int n);
Print(a,10);
cout<<endl;
return 0;
}
void Print(int *p ,int n){
int i=0;
for(;i<n;i++){
cout<<*(p+i)<<" ";
}
}
在主函数中,将数组名a作为实参的值,也就是将&a[0]作为实参的值,然后在Print函数中,指向int型变量的指针p用于接收传递过来的值,并进行输出操作。
2.多维数组名作为函数参数传递
在二维数组中,数组名a是指向首行a[0]的指针,也就是说a=&a[0]; a[0]是指向首元素a[0][0]的指针,也就是说a[0]=&a[0][0]
实例代码:
复制代码 代码如下:
#include<iostream>
using namespace std;
int main(){
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
void Print(int (*p)[4] );
Print(a);
cout<<endl;
return 0;
}
void Print(int (*p)[4] ){
int i=0,j=0;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
cout<<*(*(p+i)+j)<<" ";
}
}
}
p是指向a[0]的指针,那么p+i就是指向a[i]的指针,*(p+i)就是指向a[i][0]的指针,那么*(p+i)+j就是指向a[i][j]的指针,所以*(*(p+i)+j)就是a[i][j]的值
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
c++如何从函数返回数组?C++从函数返回数组C++不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。如果您
指向对象的指针,指向数据成员的指针,指向成员函数的指针;数组即指针,数组的指针,指针数组;指向函数的指针,指向类的成员函数的指针,指针作为函数参数,指针函数;指
指针类型是C++中一个内容非常丰富的东西,掌握好它,对学习和理解C++有着非常重要的影响。下面介绍C++中两种函数指针和指向指针的指针数组的表示方法。(1)in
浅谈先来说一下“this指针”:C++中通过引入this指针解决该问题,暨:C++编译器给每个“非静态的成员函数”增加了一个隐藏的指针参数,让该指针指向当前对象
C++的函数指针(functionpointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针