海关网站建设方案,南充网站建设公司,有道搜索,深圳外贸公司网站一、二维数组传参竟然不是用二级指针进行接收#xff1f; 今天进行再一次的二级指针学习时#xff0c;发现了一条以前没怎么注意过的知识点#xff1a;二维数组进行传参只能用二维数组#xff08;不能省略列#xff09;进行接收或者是数组指针。 问题复现代码如下#xf… 一、二维数组传参竟然不是用二级指针进行接收 今天进行再一次的二级指针学习时发现了一条以前没怎么注意过的知识点二维数组进行传参只能用二维数组不能省略列进行接收或者是数组指针。 问题复现代码如下 二、以前为什么可以呢 我这么久都没有发觉的根本原因是我之前一般都是使用动态开辟的二维数组进行使用所以理所当然传递二级指针作为参数。 代码如下 三、二维数组本质上是两个一维数组的叠加
int arr[3][5] {0}; arr的含义是arr是一个3行一维数组每一行是一个有5个元素的一维数组。 所以c语言只是叫了一个二维数组本质上就是一维数组物理空间的存储方式都是一样的。
问题剖析 所以在传递参数的时候传的是二维数组名也就是二维数组首元素的地址也就是一维数组的地址就是一个数组指针所以使用二级指针并不能接得住只能用数组指针或者就用二维数组进行接收。 正确示例