繁体   English   中英

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

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

嗨,我正在学习C ++ Primer,有一个简单的问题。 请帮帮我。

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

从技术上讲,我不知道如何在C ++中测试我的正确性。

谢谢

int (*q)[10] 

q声明为指向10个int s数组的指针。 只有数组会衰减到指向其基础类型的指针,而数组的指针不会退化到指向基础类型的指针,因此请尝试int* p = q; 将导致编译错误。 您需要的是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM