[英]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.