首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个关于sizeof的有关问题

2012-09-10 
一个关于sizeof的问题C/C++ codevoid check(char data[]){coutsizeof(data)endl}void main(){char da

一个关于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该指针。

热点排行