读书人

一个关于sizeof的有关问题

发布时间: 2012-09-10 22:20:12 作者: rapoo

一个关于sizeof的问题

C/C++ code
void check(char data[]){    cout<<sizeof(data)<<endl;}void main(){    char data[31]={'A','B','C','D','E',0,0,0,0,'F','G'};         cout<<sizeof(data)<<endl;           //输出31         check(data);                         //输出4}

为什么输出的两个值会不一样?
对于数组作为函数实参的传值方式不是很了解,有人能解释下吗?
困惑ING……

[解决办法]
第一个sizeof一个数组,
第二个sizeof一个指针。

采用值传递,多了一个指针变量指向数组首地址。sizeof该变量就是sizeof该指针。

读书人网 >C++

热点推荐