数组名与指针,一个有意思的区别

来源:互联网 发布:zayn malik知乎 编辑:程序博客网 时间:2024/04/28 04:56
int getSize(int data[]){     return sizeof(data);}int main(){    int data[] = {1, 2, 3, 4, 5};    cout<<sizeof(data)<<" ";    int*data;    cout<<sizeof(data)<<" ";    cout<<getSize(data)<<endl;}


最后的结果是20, 4, 4

因为data是数组,所以长度是数组所有元素的总长度。但数组被作为函数参数传递以后,就退化为了指针,这时函数中调用sizeof得到的结果就是4.

原创粉丝点击