获取c++中指向数组的指针的副本

Get a copy of the pointer to an array in c++

本文关键字:指针 副本 数组 c++ 获取      更新时间:2023-10-16

你好,我正在学习c++入门,有一个简单的问题。请帮帮我。

所以我知道"int *p = (*q)[10]",其中p是指向数组10的指针。问题是,在函数定义中:"void print(int (*q)[10])",其中这个指针是一个参数。我怎么能得到那个指针的副本。会是"int *p = q"吗?

我不知道如何在c++中测试我的正确性。

谢谢

int (*q)[10] 

声明q为指向包含10个int的数组的指针。只有数组衰减为指向其底层类型的指针,但是指向数组的指针不会衰减为指向底层类型的指针,因此尝试int* p = q;将导致编译错误。你需要的是

int (*p)[10] = q; // copies the pointer q to p