数组&指针在函数传参的知识点

在解决洛谷P5729问题时,作者遇到了因将多维数组误传为`int***`导致的错误。文章强调了数组传参实际上是传递首元素地址,对于一维数组等同于指针,但多维数组不能直接用指针表示。正确的表示方式是`inta[4][4]`或`int*a[4]`。作者通过复习解决了这个问题,并分享了学习笔记。

在写洛谷-P5729 【深基5.例7】工艺品制作中,我之所以使用了全局变量是因为一开始出现问题,在qiege函数中传参类型我写成int***导致程序报错

一直习惯性的把数组传参理解成指针导致我一直没有找到问题所在,于是又回去复习了一下

数组传参只会传数组的首元素地址
int *a==int a[]==int a[4]
但是当数组是多维数组时,不可以直接采用指针的形式
因为 int **a会被理解成指向Int*的指针

只能写成下面的形式
int a[4][4]==int a[ ][4]==int *a[4]

 顺便补充几张之前的笔记截图

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值