逍遥扇丶 2022-07-26 10:43 采纳率: 63.6%
浏览 67
已结题

二维数组传参这么写可以吗?


void test(int (*p)[5])
{}
int main()
{
    int arr[3][5];
    test(arr);
    return 0;
}

int (*p)[5]能写成int (*p[3])[5]吗?

  • 写回答

5条回答 默认 最新

  • 白日梦想家167 2022-07-27 15:13
    关注

    arr是二维数组的数组名,如果将数组看成一个二维的矩形,那arr就是第一行数组的地址,所以在定义时就应该用数组指针 int (*p)[数组中含有元素的个数]。而 int (*p[3])[5]是一个数组指针的数组,他是一个数组不是指针

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月29日
  • 已采纳回答 9月21日
  • 创建了问题 7月26日