C++中用指向数组的指针作函数参数
时间:2022-08-27 23:11:33
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]的值
标签:数组,指针,函数参数
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
教你如何监控 Java 线程池运行状态的操作(必看)
2023-02-09 04:34:13
![](https://img.aspxhome.com/file/2023/9/63079_0s.jpg)
Java编程实现排他锁代码详解
2021-06-11 06:00:23
Java Socket 编程详解
2022-06-13 12:06:57
Android 6.0 扫描不到 Ble 设备需开启位置权限的方法
2021-09-15 04:59:25
maven profile动态选择配置文件详解
2023-11-05 22:05:20
![](https://img.aspxhome.com/file/2023/4/64514_0s.png)
javamail 发送邮件的实例代码分享
2021-12-22 15:10:47
springboot项目启动,但是访问报404错误的问题
2022-09-21 10:30:10
![](https://img.aspxhome.com/file/2023/3/61253_0s.jpg)
Java 数组高频考点分析讲解
2021-09-01 13:14:36
![](https://img.aspxhome.com/file/2023/2/61152_0s.png)
SpringCloud之熔断器Hystrix的实现
2021-09-21 01:39:26
![](https://img.aspxhome.com/file/2023/1/110911_0s.png)
浅谈java中OO的概念和设计原则(必看)
2023-11-24 13:09:56
Java 数据结构与算法系列精讲之哈希算法实现
2022-01-10 23:56:07
![](https://img.aspxhome.com/file/2023/3/71683_0s.gif)
Java中的this和super实例浅析
2023-03-03 13:24:09
如何自定义hibernate validation注解示例代码
2021-08-31 12:05:51
Java虚拟机执行引擎知识总结
2023-06-05 17:34:31
IDEA 单元测试覆盖技巧分享
2022-09-09 03:50:26
![](https://img.aspxhome.com/file/2023/0/96270_0s.jpg)
Java并发工具类LongAdder原理实例解析
2023-11-25 15:50:20
![](https://img.aspxhome.com/file/2023/8/80328_0s.png)
@RequestBody的使用详解
2023-03-08 04:17:28
![](https://img.aspxhome.com/file/2023/8/71198_0s.png)
Java日常练习题,每天进步一点点(32)
2022-04-29 07:12:53
Spring源码之请求路径匹配路由方式
2022-04-09 03:11:19
Spring框架的环境搭建和测试实现
2023-10-27 17:57:57
![](https://img.aspxhome.com/file/2023/4/108434_0s.jpg)