您的位置:首页 > 大数据 > 人工智能

sizeof(数组名)和sizeof(指针) http://blog.csdn.net/kangroger/article/details/20653255

2015-12-18 23:30 781 查看


sizeof(数组名)和sizeof(指针)

标签: sizeof指针
2014-03-06 21:24 11686人阅读 评论(0) 收藏 举报


分类:

C++(35)


版权声明:本文为博主原创文章,未经博主允许不得转载。

在做这道题时:

32位环境下,int *p=new int[10];请问sizeof(p)的值为()

A、4 B、10 C、40 D、8

我以为正确答案为C,int类型为32位,占四个字节,10个自然就是40了,结果正确答案为A,只是指针p占的空间。

因此写段代码测试一下:

[cpp] view
plaincopy





#include<iostream>

using namespace std;

void fun(int *P)

{

cout<<"在函数中"<<sizeof(P)<<endl;

}

int main()

{

int A[10];

int* B=new int[10];

cout<<"数组名"<<sizeof(A)<<endl;

cout<<"指针"<<sizeof(B)<<endl;

fun(A);

}

结果输出:

数组名40

指针4

在函数中4

由此可见,数组名并不是完全等同于指针。虽然它们都可以通过指针方式访问数组。在这个博客看到他们的区别:http://blog.csdn.net/ljob2006/article/details/4872167

但是数组在作为函数参数传递过程中,会退化成指针。这也是为什么指针作为参数传递时,经常要一个长度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: