一个关于sizeof的有关问题
一个关于sizeof的问题
为什么输出的两个值会不一样?
对于数组作为函数实参的传值方式不是很了解,有人能解释下吗?
困惑ING……
------解决方案--------------------
第一个sizeof一个数组,
第二个sizeof一个指针。
采用值传递,多了一个指针变量指向数组首地址。sizeof该变量就是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该指针。