// 输入代码内容
int main( )
{
Verfication ver;
int num[] = {1, 2, 3};
cout<<"&num:"<<&num<<endl;
cout<<"num="<<num<<endl;
ver.verifyPointerArgumentOfFunction(num);
cout<< sizeof(num);
return 0;
}
// 输入代码内容
void verifyPointerArgumentOfFunction(int *p){
cout<<"&p:"<<&p<<endl;
cout<<"*p="<<p<<endl;
}
以上代码输出如下:
此处内存如下:
调用函数verifyPointerArgumentOfFunction时,num将其数组首元素的地址传入,赋值给p,调用了p的拷贝构造函数,因此p的值和num其数组首元素的地址相同。而p作为verifyPointerArgumentOfFunction函数栈中的局部变量,其地址为0x7ffee72bfae0。
[1] C语言中数组与指针的关系
[2] C++数组名与指针
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。